将其他元素的角四舍五入没有问题UI
,你只需要包括
#import <QuartzCore/QuartzCore.h>
//and create corner on layer of ui element
[_myView.layer setCornerRadius:8.0f];
要检测点击了哪个部分,请使用本文中的方法touchesBegan:
或touchesEnded:
类似方法。每次单击屏幕时,您都必须检测触摸是否在您的 ui 元素上,以及触摸是在左侧还是右侧。
为了动画你的 ui 元素,我建议创建一个category
for UIView
. 例如,此代码会将您的元素移动到另一个位置:
- (void)animateMyViewWithDuration:(float)duration
andRepeat:(int)repeat{
[UIView animateWithDuration:duration animations:^{
self.frame = CGRectMake(self.frame.origin.x,
self.frame.origin.y + 20,
self.frame.size.width,
self.frame.size.height);
} completion:^(BOOL finished) {
if(repeat > 0){
[self animateMyView:view
withDuration:duration
andRepeat:(repeat - 1)];
}
}];
}
将其包含在您的新类别中,将类别包含在您的UIViewController
:
#import "UIView+CategoryName.h"
touch
如果触摸符合您的需求,则在您的方法中调用它:
[_myView animateMyViewWithDuration:0.2f andRepeat:5];
您可以编写类别方法来随心所欲地移动您的视图,如果您将其抽象化,您也可以在下一个项目中使用新类别。