Objective-C 学习记录 - 14

1.当view通过xib加载时,通过initWithCoder:方法初始化,而不能通过init和initWithFrame:方法
如果xib中的子控件是通过xib创建(addSubView的目标是某个self.xxx),默认处于未唤醒状态,
唤醒的方法:重写awakeFromNib方法,将创建子控件的代码放到这个方法中

2.UIButton改变内部图片文字位置的办法:
自建一个继承与UIButton类来存放按钮,
方法1:重写titleRectForContentRect和imageRectForContentRect方法
方法2:重写layoutSubviews方法

3.UIButton的内边距:可以通过以下代码设置UIButton全局、标题和图片的内边距

self.button.contentEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right);
self.button.titleEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right);
self.button.imageEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right);

 

4.UIImage背景图片的拉伸,即拉伸时受保护的位置保持长宽不变,从剩下的位置复制或平铺以填充全图拉伸后空出的区域(如qq聊天的气泡)

//方式1
UIImage *resizableImage = [image resizableImageWithCapInsets:(imageHight * 0.5, imageWidth * 0.5, imageHight * 0.5 - 1, imageWidth * 0.5 - 1) resizingMode:UIImageResizingModeTile];
//方式2
UIImage *resizableImage = [image stretchableImageWithLeftCapWidth:imageWidth * 0.5 topCapHeight:imageHeight * 0.5];
//使用保护区最常用的参数即如代码所示;两种方式的效果完全一样,第二种方案会自动生成botton和right中如第一种方法的中width或height-1的保护区

在Interface Builder中保护拉伸的设置在Slicing中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值