iOS 7,UIView子视图为零

时间:2013-10-01 06:46:42

标签: ios uiview ios7

为什么在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: (
)

1 个答案:

答案 0 :(得分:1)

iOS 7层次结构发生了很大变化。例如,Apple通过表视图和表格视图单元格替换了许多UIButton

您确定层次结构中确实存在按钮吗?对于调试,您可以尝试调用

NSLog(@"%@", [tweetSheet.view recursiveDescription]); // (ignore the warning)

查看视图层次结构的外观。

但是,在iOS 7中,Apple已开始故意阻止访问系统视图(UIAlertView为例)。有时因为安全,有时因为自己的原因。这意味着你可能根本无法访问该按钮。

不应该访问该按钮。