iWatch动态改变UI元素位置和大小

2017-03-13  本文已影响303人  Dosun

Watch OS 2.0支持动态改变UI元素位置和大小,可以让iWatch 界面更丰富,本文将讲述其简单的用法。

一、常用属性和方法


WK_CLASS_AVAILABLE_IOS(8_2)
@interface WKInterfaceObject : NSObject

//初始化方法,建议不要使用!
- (instancetype)init NS_UNAVAILABLE;

//隐藏控件
- (void)setHidden:(BOOL)hidden;

//设置透明度
- (void)setAlpha:(CGFloat)alpha;

//设置水平对齐
- (void)setHorizontalAlignment:(WKInterfaceObjectHorizontalAlignment)horizontalAlignment WK_AVAILABLE_WATCHOS_ONLY(2.0);

//设置竖直对齐
- (void)setVerticalAlignment:(WKInterfaceObjectVerticalAlignment)verticalAlignment WK_AVAILABLE_WATCHOS_ONLY(2.0);

//设置宽度
- (void)setWidth:(CGFloat)width;

//设置其高度
- (void)setHeight:(CGFloat)height;

//相对其父类 设置宽度
- (void)setRelativeWidth:(CGFloat)width withAdjustment:(CGFloat)adjustment WK_AVAILABLE_WATCHOS_ONLY(2.0);

//相对其父类 设置高度
- (void)setRelativeHeight:(CGFloat)height withAdjustment:(CGFloat)adjustment WK_AVAILABLE_WATCHOS_ONLY(2.0);

//自适应改变宽度
- (void)sizeToFitWidth WK_AVAILABLE_WATCHOS_ONLY(2.0);

//自适应改变高度
- (void)sizeToFitHeight WK_AVAILABLE_WATCHOS_ONLY(2.0);

@end


二、常用的用法

2.1 其效果图如下
动态修改控件.gif
2.2 其storyboard布局如下图所示
Snip20170313_63.png
2.3 代码如下,其注释都已标明


@interface InterfaceController()

//图片
@property (unsafe_unretained, nonatomic) IBOutlet WKInterfaceImage *imageView;

//按扭 该按扭是隐藏的
@property (unsafe_unretained, nonatomic) IBOutlet WKInterfaceButton *btn;
@end

@implementation InterfaceController

#pragma mark - 按钮点击事件
- (IBAction)clickBtn
{
    //动画  时长为1.0秒
    [self animateWithDuration:2.0 animations:^{
        //设置图片的宽度为100
        [self.imageView setWidth:100];
        
        //取消隐藏按钮
        [self.btn setHidden:NO];
        
        //设置按钮宽度
        [self.btn  setWidth:100];
        
        //设置按钮水平  位于父控件的中心
        [_btn setHorizontalAlignment:WKInterfaceObjectHorizontalAlignmentCenter];
        
        //设置按钮竖直  位于父控件的中心
        [_btn setVerticalAlignment:WKInterfaceObjectVerticalAlignmentCenter];
        
    }];

}
@end

以上是iWatch动态改变UI元素位置和大小用法,有不足之处,请指出,感谢!

上一篇下一篇

猜你喜欢

热点阅读