0
我正在實施WePopovercontroller
的過程中,我的應用程序中存在如何實現uislider的問題。我能夠在UIView
中顯示滑塊,並在滑塊移動時獲取動作,但不確定如何在該視圖中設置標籤的值。下面是代碼在WePopoverControler中使用UISlider控件更改標籤上的值
-(void)popoverSliderMoved:(UISlider *) sender{
NSLog(@"slider %f",sender.value);
}
-(IBAction)showSettingsMenu:(UIButton *)sender{
if(!self.popoverSettingsController) {
// Create a label and button for the popover
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 40)];
[label setText:@"Bookmark it!"];
[label setBackgroundColor:[UIColor clearColor]];
[label setTextColor:[UIColor whiteColor]];
[label setTextAlignment:UITextAlignmentCenter];
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 45, 100, 40)];
[slider addTarget:self action:@selector(popoverSliderMoved:) forControlEvents:UIControlEventValueChanged];
UIFont *font = [UIFont boldSystemFontOfSize:20];
[label setFont:font];
CGSize size = [label.text sizeWithFont:font];
CGRect frame = CGRectMake(0, 0, size.width + 10, size.height + 10); // add a bit of a border around the text
label.frame = frame;
UIButton *button = [[UIButton alloc] initWithFrame:label.frame];
[button addSubview:label];
[button addTarget:self action:@selector(popoverButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
UIViewController *viewCon = [[UIViewController alloc] init];
[viewCon.view addSubview:slider];
[viewCon.view addSubview:button];
CGRect popOverFrm = CGRectMake(0, 0, frame.size.width + slider.frame.size.width, frame.size.height + slider.frame.size.height);
viewCon.contentSizeForViewInPopover = popOverFrm.size;//CGSizeMake(100, 36);
NSLog(@"Label Frame: %@", NSStringFromCGRect(label.frame));
NSLog(@"Popover size: %@", NSStringFromCGSize(viewCon.contentSizeForViewInPopover));
NSLog(@"ViewCon: %@", NSStringFromCGRect(viewCon.view.frame));
self.popoverSettingsController = [[WEPopoverController alloc] initWithContentViewController:viewCon];
//[self.popoverSettingsController setDelegate:self];
}
if([self.popoverSettingsController isPopoverVisible]) {
[self.popoverSettingsController dismissPopoverAnimated:YES];
// [navPopover setDelegate:nil];
self.popoverSettingsController = nil;
} else {
[self.popoverSettingsController presentPopoverFromRect:CGRectMake(sender.frame.size.width, 0, 200, 57)
inView:self.navigationController.view
permittedArrowDirections:UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown
animated:YES];
}
}
我會需要使用在這種情況下,委託或屬性此視圖控制器設置標籤的一部分。
謝謝!
感謝您的回覆。我確實讓它與屬性一起工作,但我不確定它是乾淨的代碼來使用屬性並使用它創建uiview。 @ElDeveloper感謝您修復我的文章。無法弄清楚爲什麼複製粘貼並沒有把他所有的代碼放在代碼窗口中。我想我必須分開功能 – Yan 2012-02-28 22:05:23
應該是一個評論 – 2013-02-19 15:37:53
我同意。但是我還沒有這個特權。 – 2013-09-30 16:50:33