0

これを3日間続けて解決しようとしましたが、それでも何もありません。だから私は長方形のボタン(ボタンが押された)から現れるポップビュー内のスライダーを使用してuiviewのアルファを制御したいので、ここで私はすでにやったこと、

mainview .hファイル:

@class popView;
@interface brightscreenViewController : UIViewController <UIPopoverControllerDelegate>
{    
    IBOutlet UIView *darkView;
    IBOutlet UIButton *brightbtn;
    UIPopoverController *popvover;
    popView *pop;   
}

@property(nonatomic, retain) UIPopoverController *popover;
@property (nonatomic, retain) UIView *darkView;
@property (nonatomic, retain) popView *pop;

- (IBAction)showPop:(id)sender; 

mainview .mファイル:

#import "brightscreenViewController.h"
#import "popView.h"

@class popView;
@interface brightscreenViewController ()

@end

@implementation brightscreenViewController
@synthesize popover;
@synthesize darkView;
@synthesize pop;

-(IBAction)showPop:(id)sender
{    
    popView *brightpop = [[popView alloc] init];
    popover = [[UIPopoverController alloc] initWithContentViewController:brightpop];
    [popover setDelegate:self];
    [popover presentPopoverFromRect:[brightbtn bounds] inView:brightbtn permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
    [popover setPopoverContentSize:CGSizeMake(229, 57)];
}

uipopviewとスライダーを含む2番目のビュー.h:

@class brightscreenViewController;

@interface popView : UIViewController
{

    brightscreenViewController *brightscreen;
    IBOutlet UISlider *slider;   
}

@property (nonatomic, retain)UISlider *slider;
@property (nonatomic, retain) brightscreenViewController *brightscreen;

-(IBAction)setBrightness:(id)sender;

secondview .mファイル:

#import "popView.h"
#import "brightscreenViewController.h"


@interface popView ()

@end

@implementation popView
@synthesize slider;
@synthesize brightscreen;

-(IBAction)setBrightness:(id)sender
{   
    brightscreen.darkView.alpha = slider.value;
}

ポップオーバーは問題なく機能しますが、スライダーは機能しません。まったく応答しません。私はすでに同じコードを使用してスライダーをメインビューに直接配置しようとしていますが、それはうまく機能しますが、uipopoverで配置すると機能しません。誰かがこれを手伝ってくれることを本当に望んでいます。

4

1 に答える 1

1

どうですか:

popView *brightpop = [[popView alloc] init];

// New line
brightpop.brightscreen = self;

popover = [[UIPopoverController alloc] initWithContentViewController:brightpop];
于 2012-07-23T18:01:58.373 に答える