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 其效果图如下
动态修改控件.gif2.2 其storyboard布局如下图所示
Snip20170313_63.png2.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元素位置和大小用法,有不足之处,请指出,感谢!