记一次XIB使用UIScrollView的坑

这是一次由于使用了IQKeyBoardManager引起的NavigationBar向上移动而使用UIScrollView并且引起了contentSize设置不上的问题.

1:关于UIScrollView自身的约束(长,宽,高等等),可以向其他的view一样设置,但是其子试图的约束也同样可以像其他view一样设置,注意了:在

viewDidAppear:(BOOL)animated

方法中,UIScrollView的contentSize会根据这些子试图的约束来计算.所以不管你在

viewDidLoad

怎么设置UIScrollView的contentSize都是没有任何作用的,需要自己重写viewDidApper方法,

- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];

    ///如果手机是  iPhone5/iPhone5s 那么就让ScrollView可以滚动,
    if (iPhone5) {

        CGFloat addBankCardButtonY = CGRectGetMaxY(self.addBankCardButton.frame);

        self.mainScrollView.contentSize = CGSizeMake(0, addBankCardButtonY + 50);
    }else{   ///否则,就不让ScrollView滚动

        self.mainScrollView.contentSize = CGSizeMake(0, 0);
    }
}

上述代码中的mainScrollView就是从XIB里面拖出来的ScrollView

这样既解决了IQKeyBoardManager引起的NavigationBar上移,也解决了UIScrollView的contentSize没法设置的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值