Objective c 在WepopOverController中使用UISlider控件更改标签上的值

Objective c 在WepopOverController中使用UISlider控件更改标签上的值,objective-c,ios,Objective C,Ios,我正在我的应用程序中实现wepopcovercontroller,我有一个关于如何在上面实现uislider的问题。我能够在ui视图中显示滑块,并在滑块移动时获得操作,但不确定如何在该视图中设置标签的值。这是代码的一部分 -(void)popoverSliderMoved:(UISlider *) sender{ NSLog(@"slider %f",sender.value); } 在这种情况下,我是否需要使用委托或此viewcontroller的属性来设置标签 谢谢 是的,我会使

我正在我的应用程序中实现
wepopcovercontroller
,我有一个关于如何在上面实现uislider的问题。我能够在
ui视图中显示滑块,并在滑块移动时获得操作,但不确定如何在该视图中设置标签的值。这是代码的一部分

-(void)popoverSliderMoved:(UISlider *) sender{
    NSLog(@"slider %f",sender.value);
}

在这种情况下,我是否需要使用委托或此viewcontroller的属性来设置标签


谢谢

是的,我会使用属性。

谢谢您的回复。我确实让它使用属性,但我不确定使用属性并使用它创建uiview是否是干净的代码@谢谢你帮我整理邮件。无法理解为什么复制粘贴没有将所有代码都放在代码窗口中。我想我必须分开我同意。然而,我还没有这种特权。
-(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];
}
}