Tag Archives: 基础知识

关于字符串显示长度sizeWithFont要说几句

1、在iOS7之前,动态布局场景中,由于初始化UILable的大小与实际需要显示的文字内容有时候会冲突,简单一点讲UILable初始时设小了,文字过多显示不完,或者初始设置太大了,文字较少,显示效果过于空荡。

2、如何解决这个问题呢,一般需要用到NSString的两个相关方法:

– (CGSize)sizeWithFont:(UIFont *)font

– (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size

3、这两个方法相信很多人都不陌生,但在iOS7之后此类方法都已过期,官方不推荐使用,取而代之的对应两个方法为:

– (CGSize)sizeWithAttributes:(NSDictionary *)attrs

– (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context[……]

继续阅读

如何让iOS项目支持中文(控件显示中文)

1、在项目开发中,有些系统自带的控件(如:拍照、搜索等)上带有Lable或Button,然而默认情况下显示的都中英文,如下所示:

iOS-Simulator-Screen-Shot-2015年6月11日-上午9.14.53iOS-Simulator-Screen-Shot-2015年6月11日-上午9.14.55

2、将本地语言换成中文结果还是显示英文,这是如何?有些同志们通过各种subViews及superView加for循环加kindOfClass等一系统方式方法找到该文[……]

继续阅读

关于UIView的alpha属性的探讨

1、UIView的alpha属性指的是视图的透明度,该属性值取值0~1,如果为0则说明视图为全透明,如果为1则完全不透明,我们通过示例来说明问题,先看原效果图

iOS Simulator Screen Shot 2015年5月22日 下午10.45.32

该窗口上一共有4个View,最底层为风景图,风景图上面为一个红色的View,红色View上面有两个子View,分别为蓝色View和绿色View,由于红色完全压在风景图上面,所以看不到风景图。
层级关系为
—UIImageView
—–UIView(redView)
——-UIView(greenView)
——-UIView(blueView)

2、问题来了,redView上面还有子视图blueView和greenView,那么设置该redView的alpha属性,子视图会怎样?我们来设置一下,代码:[……]

继续阅读

iOS摇一摇的使用

一、实现系统自带的motionBegan方法

1
2
3
4
5
6
/// 开始
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);
/// 结束
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);
/// 取消
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);

假如程序不响应此方法,再实现以下方法:

1
2
3
4
- (BOOL)canBecomeFirstResponder
{
    return YES;
}

[……]

继续阅读