1.自定义的导航栏右键,enable禁用
在自定义导航栏右键时,在某条件成立时,按钮可响应点击事件,尝试如下:
self.saveBtn = [self getBtn:MKString(@"Post_Button_Save") action:@selector(onSave)];
[self.saveBtn setEnabled:NO];
self.saveBtn.alpha = 0.4;
UIBarButtonItem *customBar = [[UIBarButtonItem alloc] initWithCustomView:self.saveBtn];
self.navigationItem.rightBarButtonItem = customBar;
测下来未达到预期效果,然后尝试如下:
self.saveBtn = [self getBtn:MKString(@"Post_Button_Save") action:@selector(onSave)];
UIBarButtonItem *customBar = [[UIBarButtonItem alloc] initWithCustomView:self.saveBtn];
self.navigationItem.rightBarButtonItem = customBar;
[self.saveBtn setEnabled:NO]; // 调换位置
self.saveBtn.alpha = 0.4;
这样是可以的。
-
UILabel上显示字符串尾部空格字符
UILabel对字符串的尾部有默认的trim功能,为了某些显示效果,需要其他的办法来实现UILabel,如下:
NSString * title = [NSString stringWithFormat:@" %d ", num]; NSMutableParagraphStyle * style = [[NSMutableParagraphStyle alloc] init]; NSMutableAttributedString * attribut = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSForegroundColorAttributeName:ColorString(@"#ffffff"), NSParagraphStyleAttributeName:style}]; self.mLabel.attributedText = attribut;
-
UIScrollView的Masonry布局
UIScrollView是可以左右上下滑动的控件,在用Masonry对在其之上的元素布局时,某些约束条件是无效的,比如:
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.scrollview.left).offset(200);
}];
上面代码可以使titleLabel在scrollview的左侧200的位置处。
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.scrollview.right);
}];
但是,上面代码并不能使titleLabel在scrollview的右侧。
所以,在对UIScrollView进行Masonry布局,需遵循从上到下、从左到右的方式,当布局内容超过一屏幕时,scrollview可以进行滑动。
具体的方式如下:
-
对scrollview进行约束
[self.scrollview mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.view); }];
-
声明containView 放置在scrollview上
// 设置参照视图的约束 [self.containView mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.equalTo(self.scrollview); make.width.equalTo(self.scrollview); }];
-
其他的视图,都放置在containView上,并进行约束
-
最后约束containView的底部条件
[self.containView mas_makeConstraints:^(MASConstraintMaker *make) { //productView是containView上最下面的一个子控件 make.bottom.equalTo(self.productView.bottom); }];
通过以上方式,不需要再设置scrollview的contentSize就可以实现滑动,而且是正正好的滑动。