Mad*_*dav 2 iphone objective-c
我在这里问了一个类似的问题并得到了一些答案,所以首先很抱歉让人们再次烦恼.
但这次我有一个争论.首先,我将展示我的代码
- (void) showTheAlert{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Hey!" message:@"?" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Yes",@"No",@"Don't know eaxactly.",nil];
[alertView setTag:101];
[alertView show];
}
- (void)willPresentAlertView:(UIAlertView *)alertView{
if(alertView.tag == 101){
[[[alertView subviews] objectAtIndex:2] setBackgroundColor:[UIColor colorWithRed:0.5 green:0.0f blue:0.0f alpha:0.5f]];
[[[alertView subviews] objectAtIndex:3] setBackgroundColor:[UIColor colorWithRed:0.0 green:0.5f blue:0.0f alpha:0.5f]];
}
}
Run Code Online (Sandbox Code Playgroud)
我的最终警报看起来像

现在我的困惑是,[alertView subviews]没有记录,有些人可能会说,但alertview是一个子类UIView,有一个属性叫subviews.
所以我使用了一个绝对允许的超类的文档属性.
那么,如果此警报视图可能导致我的应用程序被拒绝?(我认为苹果没有任何基础可以说我使用的是无证件或私人API.外观和感觉也与alertview相似.)
有关警报视图的苹果iPhone人机界面指南明确指出:
警报出现的频率很低,可以帮助用户认真对待.务必>最大限度地减少应用程序显示的警报数量,并确保每个警报提供>关键信息和有用的选择.通常,尽量避免创建以下警报:
更新正在进行的任务的用户.相反,请考虑使用进度视图或活动指示器向用户提供与进度相关的反馈(这些控件在"进度视图"和"活动指示器"中进行了描述).
要求确认用户启动的操作.要获得用户启动的操作的确认,即使是可能存在风险的操作(例如删除联系人),也应使用操作表(在"使用操作表"中进行了描述).
告知用户他们无能为力的错误或问题.虽然可能需要使用警报来告诉用户他们无法修复的关键问题,但如果可能的话,最好将这些信息集成到用户界面中.例如,不是每次服务器连接失败时都告诉用户,而是显示上次成功连接的时间.
所以,我的建议,等待潜在拒绝的时间不值得你花时间.不要冒风险.
| 归档时间: |
|
| 查看次数: |
2092 次 |
| 最近记录: |