Ios 将UIBarButtonim添加到UIActionSheet导航栏(UIDatePicker)
我创建了UIActionSheet,并在上面添加了一个UIPickerView。现在,我想在UIActionSheet导航栏标题的右侧和左侧添加两个按钮。我该怎么做 这就是我目前所做的:Ios 将UIBarButtonim添加到UIActionSheet导航栏(UIDatePicker),ios,objective-c,uibutton,uipickerview,uiactionsheet,Ios,Objective C,Uibutton,Uipickerview,Uiactionsheet,我创建了UIActionSheet,并在上面添加了一个UIPickerView。现在,我想在UIActionSheet导航栏标题的右侧和左侧添加两个按钮。我该怎么做 这就是我目前所做的: - (IBAction)userDidClickedOnSelectDate:(id)sender { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select your birthday date:" dele
- (IBAction)userDidClickedOnSelectDate:(id)sender
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select your birthday date:" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Select", nil];
[actionSheet showInView:self.view];
[actionSheet setFrame:CGRectMake(0, 100, 570, 383)];
}
我试图以这种方式添加UIButton,但是我不明白为什么我不能在视图上看到它。当我检查UIActionSheet子视图时,他就在那里(可能在下面的某个地方)
这就是它的样子:
我想有一种方法可以到达UIActionSheet导航栏或工具栏(标题所在的位置)并在顶部添加按钮
提前谢谢
根据people answer的说法,我已经设法创建了一个更好的选择器视图,它的呈现方式相同,但处理和构建方式要好得多。我创建了一个UIViewController,并添加了一个UIDatePicker和一个顶部有按钮的UIToolBar。而不是这样称呼它:
- (IBAction)userDidClickedOnSelectDate:(id)sender
{
CustomDatePicker *customPicker = [[CustomDatePicker alloc] initWithNibName:@"CustomDatePicker" bundle:nil];
customPicker.delegate = self;
customPicker.view.backgroundColor = [UIColor clearColor];
self.modalPresentationStyle = UIModalPresentationCustom;
[self presentViewController:customPicker animated:YES completion:nil];
}
我还创建了一个委托,该委托告诉我单击“取消”和“完成”按钮的时间:
- (void)datePickerDidCancelled:(CustomDatePicker *)picker
{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)datePicker:(CustomDatePicker *)picker dateDidSelected:(NSDate *)date
{
NSLog(@"selectedDate: %@", date);
[self dismissViewControllerAnimated:YES completion:nil];
}
根据,不应将子视图添加到UIActionSheets
UIActionSheet不是设计为子类的,也不应该添加
视图到其层次结构。如果您需要提交一份包含更多信息的工作表
除了UIActionSheet API提供的自定义之外,您还可以创建
您自己的,并以模式呈现给
presentViewController:已设置动画:完成:
根据,不应将子视图添加到UIActionSheets
UIActionSheet不是设计为子类的,也不应该添加
视图到其层次结构。如果您需要提交一份包含更多信息的工作表
除了UIActionSheet API提供的自定义之外,您还可以创建
您自己的,并以模式呈现给
presentViewController:已设置动画:完成:
根据,不应将子视图添加到UIActionSheets
UIActionSheet不是设计为子类的,也不应该添加
视图到其层次结构。如果您需要提交一份包含更多信息的工作表
除了UIActionSheet API提供的自定义之外,您还可以创建
您自己的,并以模式呈现给
presentViewController:已设置动画:完成:
根据,不应将子视图添加到UIActionSheets
UIActionSheet不是设计为子类的,也不应该添加
视图到其层次结构。如果您需要提交一份包含更多信息的工作表
除了UIActionSheet API提供的自定义之外,您还可以创建
您自己的,并以模式呈现给
presentViewController:已设置动画:完成:
我通常处理日期输入的方法是为控件创建自定义输入视图(例如,
UILabel
或UITextField
)。我创建了自己的子类来处理这个问题,但是您可以在任何地方非常简单地临时完成它
InputView
属性设置为pickerViewInputAccessoryView
属性设置为您创建的UIToolbar
或UINavigationBar
UILabel
,请确保它可以成为第一响应者(有关说明,请参阅)
如果您想玩得开心,还可以将pickerview嵌入到
UIInputView
中,这将为您提供与iOS中每个键盘输入相同的模糊效果。这部分可能需要一些调整,但最终效果非常好。我通常处理日期输入的方法是为控件创建自定义输入视图(例如,UILabel
或UITextField
)。我创建了自己的子类来处理这个问题,但是您可以在任何地方非常简单地临时完成它
InputView
属性设置为pickerViewInputAccessoryView
属性设置为您创建的UIToolbar
或UINavigationBar
UILabel
,请确保它可以成为第一响应者(有关说明,请参阅)
如果您想玩得开心,还可以将pickerview嵌入到
UIInputView
中,这将为您提供与iOS中每个键盘输入相同的模糊效果。这部分可能需要一些调整,但最终效果非常好。我通常处理日期输入的方法是为控件创建自定义输入视图(例如,UILabel
或UITextField
)。我创建了自己的子类来处理这个问题,但是您可以在任何地方非常简单地临时完成它
InputView
属性设置为pickerViewInputAccessoryView
属性设置为您创建的UIToolbar
或UINavigationBar
UILabel
,请确保它可以成为第一响应者(有关说明,请参阅)
如果您想玩得开心,还可以将pickerview嵌入到
UIInputView
中,这将为您提供与iOS中每个键盘输入相同的模糊效果。这部分可能需要一些调整,但最终效果非常好。我通常处理日期输入的方法是为控件创建自定义输入视图(例如,UILabel
或UITextField
)。我创建了自己的子类来处理这个问题,但是您可以在任何地方非常简单地临时完成它
InputView
属性设置为pickerViewInputAccessoryView
属性设置为您创建的UIToolbar
或UINavigationBar
UILabel
,请确保它可以成为第一响应者(有关说明,请参阅)
如果您想获得更多乐趣,还可以将pickerview嵌入到UIInputView
中,这将为您提供
- (void)datePickerDidCancelled:(CustomDatePicker *)picker
{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)datePicker:(CustomDatePicker *)picker dateDidSelected:(NSDate *)date
{
NSLog(@"selectedDate: %@", date);
[self dismissViewControllerAnimated:YES completion:nil];
}