我正在尝试将uiview添加到键盘顶部.我首先使用KeyboardWillShow/Hide完成了它,但它并未涵盖所有情况,我正在尝试使用inputAccesoryView.这是我试过的:
private var accessoryView = UIView(frame: CGRectZero)
class ViewController : UIViewController {
var myView: customUIView
override var inputAccessoryView: UIView {
return accessoryView
}
override func canBecomeFirstResponder() -> Bool {
return true
}
override func viewDidLoad() {
super.viewDidLoad()
accessoryView = myView
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:由于未捕获的异常'UIViewControllerHierarchyInconsistency'终止应用程序,原因:'子视图控制器:UICompatibilityInputViewController应该有父视图控制器:MyViewController但请求父级是:UIInputWindowController:'
任何帮助将不胜感激!
当我在ios8崩溃中运行时,我在选择器上方创建了一个带有两个按钮的工具栏并在ios7上工作:
终止应用程序2到未捕获的异常'UIViewControllerHierarchyInconsistency',原因:'子视图控制器:应该有父视图控制器:但是请求的父级是:'
这是在ios7中安静工作的代码段:
expiredPromoTextField.inputView = DatePicker;
expiredPromoTextField.delegate = self;
quantityPromoTextField.inputView = quantityPicker;
quantityPromoTextField.delegate = self;
// Create button to close the UIPickerView
UIToolbar * mypickerToolbar = [[UIToolbar alloc] initWithFrame: CGRectMake (0, 0, 320, 56)];
mypickerToolbar.barStyle = UIBarStyleBlackTranslucent;
[mypickerToolbar sizeToFit];
NSMutableArray * barItems = [[NSMutableArray alloc] init];
UIBarButtonItem * CancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemCancel target: self action:selector (cancelDoneClicked)];
[barItems addObject: CancelBtn];
UIBarButtonItem * FLEXspace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target: self action: nil];
[barItems addObject: FLEXspace];
UIBarButtonItem * doneBtn = …Run Code Online (Sandbox Code Playgroud) 我有一个消息应用程序.我UITabeView在ViewController中有一个.我在我的Custom上实现了我的longPressGesture事件,UITableViewCell以便在其上显示UIMenuController(copy-forward和...):
AudioMsgCell
-(void)handleLongPress:(UIGestureRecognizer *)gesture
[self becomeFirstResponder]; // i crash on this Line
UIMenuController *menu = [UIMenuController sharedMenuController];
UIMenuItem *delete = [[UIMenuItem alloc] initWithTitle:@"Delete" action:@selector(Delete:)];
CGRect targetRect = [self convertRect:[self.bubbleImageView frame]
fromView:self];
[menu setMenuItems:[NSArray arrayWithObjects:delete,nil]];
[menu setTargetRect:targetRect inView:self];
[menu setMenuVisible:YES animated:YES];}
Run Code Online (Sandbox Code Playgroud)
我有一个UIMenuControllerinclude XIB file&some UITextField和myviewController我UIButton查看.
TextingViewController
[self.view addSubview:self.inputView];
Run Code Online (Sandbox Code Playgroud)
当我在单元格上长按手势时,我会在方法上崩溃
AudioMsgCell
[self becomeFirstResponder]
Run Code Online (Sandbox Code Playgroud)
我以前遇到过这个问题,当我在iOS 8中实现了额外的键盘时,但现在当我在我的Cell应用程序上做手势时出现此错误:
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<UICompatibilityInputViewController: 0x14459d620> should have parent view controller:<BLTextingViewController: …Run Code Online (Sandbox Code Playgroud) 我有一个在iOS 7和Xcode 5中运行良好的应用程序.当我将其更新到iOS 8和Xcode 6时,当应用程序尝试在轻触textField时在视图中向上滑动UIDatePicker时,它会崩溃.我正在使用故事板.有谁知道为什么?
我已经阅读了这个,但它的Xib.
应用程序在IOS 6上崩溃 - UIViewControllerHierarchyInconsistency
请帮助谢谢
我的代码:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
//set picker color start
[self.myDatePicker setBackgroundColor:[UIColor greenColor]];
//set picker color finish
//calculate bounds start
CGRect textFieldRect = [self.view.window convertRect:textField.bounds fromView:textField];
CGRect viewRect = [self.view.window convertRect:self.view.bounds fromView:self.view];
//calculate bounds finish
//calculate the fraction between the top and bottom of the middle section for the text field's midline start
CGFloat midline = textFieldRect.origin.y + 0.5 * textFieldRect.size.height;
CGFloat numerator = midline - viewRect.origin.y
- MINIMUM_SCROLL_FRACTION * …Run Code Online (Sandbox Code Playgroud) 我的故事板视图中有一个UIDatePicker连接到头文件中的IBOutlet.
在实现文件中,我将一些属性设置为选择器,然后将其分配给我的textFields:
[self.txtEndDate setInputView:self.picker];
Run Code Online (Sandbox Code Playgroud)
这在iOS 7中运行良好,但是对于iOS 8,它给出了以下错误:
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<UICompatibilityInputViewController: 0x7c2d8800> should have parent view controller:<InserimentoDurata: 0x7aec2b10> but requested parent is:<UIInputWindowController: 0x7b92b400>'
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何想法?
我有UITextView一个UIView.当viewLoad,我有一个UIPickerView内UIAlertView有"OK"按钮.当我从选择器中选择任何值并单击"确定"时,我需要激活UITextView.
为此我写了[<myTextView> becomeFirstResponder];委托方法UITextView.只要此方法执行它textViewShouldBeginEditing,就会调用委托方法.这个方法正确执行,我在这里返回TRUE,但之后执行返回到该行[<myTextView> becomeFirstResponder];,然后应用程序崩溃.
UIAlertView委托方法如下:
- (void)customIOS7dialogButtonTouchUpInside: (CustomIOS7AlertView *)alertView clickedButtonAtIndex: (NSInteger)buttonIndex
{
NSLog(@"Button at position %d is clicked on alertView %d.", (int)buttonIndex, (int)[alertView tag]);
[alertView close];
[self.updateTV becomeFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码应用程序崩溃[self.updateTV becomeFirstResponder];
崩溃日志显示如下:
2016-12-09 11:47:53.069049 oGoing[250:11235] self.viewControllers lastObject ==<OGAddUpdateViewController: 0x17bebe00>
2016-12-09 11:47:53.069451 oGoing[250:11235] self.viewControllers lastObject ==<OGAddUpdateViewController: 0x17bebe00>
2016-12-09 11:47:53.070530 oGoing[250:11235] self.viewControllers lastObject ==<OGAddUpdateViewController: 0x17bebe00>
2016-12-09 11:47:53.070970 oGoing[250:11235] …Run Code Online (Sandbox Code Playgroud) ios ×5
ios8 ×2
objective-c ×2
uidatepicker ×2
swift ×1
uipickerview ×1
uitextfield ×1
uitextview ×1
xcode ×1