UIActionSheet综合

1. 常见错误,在viewDidLoad(或者viewWillAppear)中调用[actionsheet showInView:self.view]方法,然后报错“sheet can not be presented, because the view is not in a window”,这是因为在viewDidLoad和viewWillAppear方法中self.view还没有显示出来,这个时候还不能将actionsheet添加上去(这点和普通的uiview控件不同)。

      正确的做法是:在viewDidAppear中调用该方法即可。

      与普通控件不同的解释(个人私解):普通的uiview控件如uibutton在viewDidLoad函数中是直接调用self.view的addSubview方法将他们和self.view合并在一起最后一起显示的,所以可以在viewDidLoad方法中添加。而ActionSheet可以在viewDidLoad方法中初始化,但是不能显示,因为这个时候self.view还没有显示出来,而actionsheet的showInView方法是直接显示在某个view里面的,所以会报错。


评论
热度 ( 1 )