Iphone showInView正在导致剪辑
因此,我遵循了一个教程,该教程讲述了当用户点击UITextField时,如何使用UIDatePicker而不是键盘。我遇到的问题是,当选取器出现时,它被剪裁,并在控制台中发出以下消息:Iphone showInView正在导致剪辑,iphone,objective-c,ios,xcode,uiview,Iphone,Objective C,Ios,Xcode,Uiview,因此,我遵循了一个教程,该教程讲述了当用户点击UITextField时,如何使用UIDatePicker而不是键盘。我遇到的问题是,当选取器出现时,它被剪裁,并在控制台中发出以下消息: Presenting action sheet clipped by its superview. Some controls might not respond to touches. On iPhone try -[UIActionSheet showFromTabBar:] or -[UIActionShe
Presenting action sheet clipped by its superview. Some controls might not respond to touches. On iPhone try -[UIActionSheet showFromTabBar:] or -[UIActionSheet showFromToolbar:] instead of -[UIActionSheet showInView:].
我尝试了其他的方法,但它们也不起作用,我也没料到它们会起作用。如果有人能看看下面的代码并提供一些建议,那就太好了。谢谢:)
AddShiftViewController.h
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#import "Shift.h"
@interface AddShiftsViewController : UIViewController <UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *jobTitleField;
@property (weak, nonatomic) IBOutlet UITextField *startDateField;
@property (weak, nonatomic) IBOutlet UITextField *endDateField;
@property (nonatomic, strong) NSDate *startDate;
@property (nonatomic, strong) NSDate *endDate;
@property (nonatomic, strong) UIActionSheet *dateSheet;
- (void)setDate;
- (void)dismissPicker;
- (void)cancelPicker;
- (IBAction)addShift:(id)sender;
@end
h(自定义类)
但它仍然是剪辑。我附上了一张照片,让你知道到底发生了什么
首先,您确定帧宽和帧高是否正确
CGRect pickerFrame = CGRectMake(0, 44, 0, 0); // (params) x , y, width, height
使用此框架的选择器视图的宽度和高度分别为0和0,因此无法正确显示。尝试创建具有一定宽度或高度的UIDatePicker
另外,您是否正在尝试从作为UITabBarController一部分的控制器中显示UIActionSheet???
如果是,那么
[datesheet showInView:self.view];
使用
首先,您确定帧宽度和高度是否正确
CGRect pickerFrame = CGRectMake(0, 44, 0, 0); // (params) x , y, width, height
使用此框架的选择器视图的宽度和高度分别为0和0,因此无法正确显示。尝试创建具有一定宽度或高度的UIDatePicker
另外,您是否正在尝试从作为UITabBarController一部分的控制器中显示UIActionSheet???
如果是,那么
[datesheet showInView:self.view];
使用
看起来你可能把这一行的数字弄错了:
[dateSheet setBounds:CGRectMake(0, 0, 420, 385)];
应该是:
[dateSheet setBounds:CGRectMake(0, 0, 320, 485)];
iPhone屏幕的宽度不是420像素:)经典的屏幕是320宽(纵向)或640宽的视网膜显示器。虽然在其他地方也可能有错误,但这一点在我看来很突出。这一行的数字似乎有点不对劲:
[dateSheet setBounds:CGRectMake(0, 0, 420, 385)];
应该是:
[dateSheet setBounds:CGRectMake(0, 0, 320, 485)];
iPhone屏幕的宽度不是420像素:)经典的屏幕是320宽(纵向)或640宽的视网膜显示器。虽然在其他地方也可能有错误,但这一个对我来说很突出。这些是教程中使用的值,它们工作正常,所以我认为不是这样。我试着将它们分别设置为320和300,但没有任何改变。我附上了一个屏幕截图,显示发生了什么。我尝试使用showFromTabBar链接它,但没有成功:(这些是在教程中使用的值,它们工作得很好,所以我认为不是这样。我尝试将它们分别设置为320和300,但没有改变任何事情。我附加了一个屏幕截图,显示发生了什么。我尝试将其链接到showFromTabBar,但没有成功:(是的,就是这样:)谢谢你。是的,就是这样:)谢谢你。