簡體   English   中英

在Interface Builder中應用自定義滑塊

[英]Applying Custom Slider in Interface Builder

我想創建一個自定義幻燈片,但我不知道如何在IB中應用它。

。H

@interface MainViewController : UIViewController <AVAudioPlayerDelegate> {
    UISlider                *customSlider;
}

@property (nonatomic, retain, readonly) UISlider *customSlider;

@end

.M

#define kSliderHeight            7.0
#define kViewTag                1  

@implementation MainViewController

- (UISlider *)customSlider
{
    if (customSlider == nil)
    {
        CGRect frame = CGRectMake(174, 12.0, 120.0, kSliderHeight);
        customSlider = [[UISlider alloc] initWithFrame:frame];
        [customSlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
        customSlider.backgroundColor = [UIColor clearColor];   
        UIImage *stetchLeftTrack = [[UIImage imageNamed:@"orangeslide.png"]
                                    stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
        UIImage *stetchRightTrack = [[UIImage imageNamed:@"yellowslide.png"]
                                     stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
        [customSlider setThumbImage: [UIImage imageNamed:@"slider_ball.png"] forState:UIControlStateNormal];
        [customSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
        [customSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
        customSlider.minimumValue = 0.0;
        customSlider.maximumValue = 100.0;
        customSlider.continuous = YES;
        customSlider.value = 50.0;

        [customSlider setAccessibilityLabel:NSLocalizedString(@"CustomSlider", @"")];

        customSlider.tag = kViewTag;
    }
    return customSlider;
}

我需要知道的是我如何在IB中應用它。 作為一個成功的構建。

謝謝

您可以創建一個自定義類,它是繼承UISlider的子類,它在init方法中執行此設置。

在界面構建器中,只需在Inspector窗口的Identity選項卡中放置一個普通的UISlider,就可以將該類更改為您的自定義類。

在你的MySlider.h中:


@interface MySlider : UISlider
{

// Anything relevant you might want to change

}
@end

在.m文件中:



@implementation MySlider

- (id)init
{
    self = [super init];
    self.backgroundColor = [UIColor clearColor];   
        UIImage *stetchLeftTrack = [[UIImage imageNamed:@"orangeslide.png"]
                                    stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
        UIImage *stetchRightTrack = [[UIImage imageNamed:@"yellowslide.png"]
                                     stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
        [self setThumbImage: [UIImage imageNamed:@"slider_ball.png"] forState:UIControlStateNormal];
        [self setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
        [self setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
        self.minimumValue = 0.0;
        self.maximumValue = 100.0;
        self.continuous = YES;
        self.value = 50.0;

        [self setAccessibilityLabel:NSLocalizedString(@"CustomSlider", @"")];

    return self;
}
@end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM