编辑重新发布...我不小心将上一个问题标记为“commuity wiki”,并没有意识到维基帖的答案不会产生声誉。
我正在使用以下代码将UITextView添加到UIAlertView:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Enter Name Here" message:@"this gets covered!" delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:@"OK!", nil];
UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12, 45, 260, 25)];
CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0, 60);
[alert setTransform:myTransform];
[myTextField setBackgroundColor:[UIColor whiteColor]];
[alert addSubview:myTextField];
[alert show];
[alert release];
[myTextField release];
如果我将该代码放在标准操作方法中:
- (IBAction)testAlertView:(id)sender {
...the above code...
}
然后第一次显示UIAlertView时,剪切/复制/粘贴弹出菜单将显示在已添加到UIAlertView的UITextField中。 (例如,如果我点击并按住,则在我释放后将弹出“粘贴”。
问题是第一次正常工作后,下次显示UIAlertView(新实例)时,没有任何剪切/复制/粘贴按钮会再次出现,除非我重新启动应用程序。有谁知道为什么,或者如何解决这个问题?
奖励信息
我刚刚发现,如果我在UIActionSheet delagate回调中创建一个显示警报,我可以让事情始终有效。例如,这总是有效的(在适当的时候,在UITextField中总是显示剪切/复制/粘贴)
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
...the above code...
}
更新了奖励信息
事实证明它首次显示剪切/复制/粘贴popu ...而不仅仅是第一次显示UIAlertView。例如,我可以多次显示和关闭警报视图。并且剪切/复制/粘贴在第一次显示时仍然有效。但在此之后它将不再起作用。
另外......如果我添加一个UITextField(不在警报视图中)并在那里显示剪切/复制/粘贴,那么它将不会在警报视图中的UITextField中显示(甚至是第一次)。所以最后问题似乎是切割/复制/粘贴只显示在UIAlertView中的UITextField中,如果它在任何UITextField中第一次显示编辑弹出窗口。
知道在第二种情况下会发生什么事情会让事情发生变化吗?我不想在我的应用程序中使用UIActionSheet,因此我想找到一种方法,使其能够使用普通的旧操作方法。
谢谢, 杰西
答案 0 :(得分:0)
说实话,我认为这个想法违反了UI准则......除非你有充分的理由,否则这将构成对应用商店的拒绝。
这是Apples定义的使用UIAlertView
老实说,我认为你只是想切换到另一种观点......
抱歉,我无法提供更多帮助。