为什么在iOS 7 [UIView子视图]总是返回一个零?
我正在使用此code,但已经获得了 nil 。
iOS 7中的错误?
编辑:
TWTweetComposeViewController* tweetSheet = [[TWTweetComposeViewController alloc] init];
[tweetSheet setInitialText: twitter_descrp];
[tweetSheet addURL:[NSURL URLWithString: twitter_link]];
NSData* imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString: twitter_img]];
UIImage* uiImage = [UIImage imageWithData:imageData];
[tweetSheet addImage:uiImage];
NSLog(@"subviews: %@", [tweetSheet.view firstSubviewOfClass:[UIButton class]] );
此处 firstSubviewOfClass 来自iOS7 Subviews Hierarchy
在NSLog内部返回:
subviews: (
)
答案 0 :(得分:1)
iOS 7层次结构发生了很大变化。例如,Apple通过表视图和表格视图单元格替换了许多UIButton
。
您确定层次结构中确实存在按钮吗?对于调试,您可以尝试调用
NSLog(@"%@", [tweetSheet.view recursiveDescription]); // (ignore the warning)
查看视图层次结构的外观。
但是,在iOS 7中,Apple已开始故意阻止访问系统视图(UIAlertView
为例)。有时因为安全,有时因为自己的原因。这意味着你可能根本无法访问该按钮。
你不应该访问该按钮。