实战项目
来源:互联网 发布:怎么看淘宝店铺的权重 编辑:程序博客网 时间:2024/04/28 06:58
添加动画的三种方法
// [UIView beginAnimations:nil context:nil];
// [UIView setAnimationDuration:.35];
// _selectImageView.center = button.center;
// [UIView commitAnimations];
// [UIView animateWithDuration:.3 animations:^{
// _selectImageView.center = button.center;
// }];
//
[UIView animateWithDuration:.35 animations:^{
_selectImageView.center = button.center;
} completion:^(BOOL finished) {
NSLog(@"动画结束");
}];
UIViewExt
CGPoint CGRectGetCenter(CGRect rect)
{
CGPoint pt;
pt.x = CGRectGetMidX(rect);
pt.y = CGRectGetMidY(rect);
return pt;
}
CGRect CGRectMoveToCenter(CGRect rect,CGPoint center)
{
CGRect newrect = CGRectZero;
newrect.origin.x = center.x-CGRectGetMidX(rect);
newrect.origin.y = center.y-CGRectGetMidY(rect);
newrect.size = rect.size;
return newrect;
}
@implementation UIView (ViewGeometry)
// Retrieve and set the origin
- (CGPoint) origin
{
returnself.frame.origin;
}
- (void) setOrigin: (CGPoint) aPoint
{
CGRect newframe =self.frame;
newframe.origin = aPoint;
self.frame = newframe;
}
// Retrieve and set the size
- (CGSize) size
{
returnself.frame.size;
}
- (void) setSize: (CGSize) aSize
{
CGRect newframe =self.frame;
newframe.size = aSize;
self.frame = newframe;
}
// Query other frame locations
- (CGPoint) bottomRight
{
CGFloat x =self.frame.origin.x +self.frame.size.width;
CGFloat y =self.frame.origin.y +self.frame.size.height;
returnCGPointMake(x, y);
}
- (CGPoint) bottomLeft
{
CGFloat x =self.frame.origin.x;
CGFloat y =self.frame.origin.y +self.frame.size.height;
returnCGPointMake(x, y);
}
- (CGPoint) topRight
{
CGFloat x =self.frame.origin.x +self.frame.size.width;
CGFloat y =self.frame.origin.y;
returnCGPointMake(x, y);
}
// Retrieve and set height, width, top, bottom, left, right
- (CGFloat) height
{
returnself.frame.size.height;
}
- (void) setHeight: (CGFloat) newheight
{
CGRect newframe =self.frame;
newframe.size.height = newheight;
self.frame = newframe;
}
- (CGFloat) width
{
returnself.frame.size.width;
}
- (void) setWidth: (CGFloat) newwidth
{
CGRect newframe =self.frame;
newframe.size.width = newwidth;
self.frame = newframe;
}
- (CGFloat) top
{
returnself.frame.origin.y;
}
- (void) setTop: (CGFloat) newtop
{
CGRect newframe =self.frame;
newframe.origin.y = newtop;
self.frame = newframe;
}
- (CGFloat) left
{
returnself.frame.origin.x;
}
- (void) setLeft: (CGFloat) newleft
{
CGRect newframe =self.frame;
newframe.origin.x = newleft;
self.frame = newframe;
}
- (CGFloat) bottom
{
returnself.frame.origin.y +self.frame.size.height;
}
- (void) setBottom: (CGFloat) newbottom
{
CGRect newframe =self.frame;
newframe.origin.y = newbottom -self.frame.size.height;
self.frame = newframe;
}
- (CGFloat) right
{
returnself.frame.origin.x +self.frame.size.width;
}
- (void) setRight: (CGFloat) newright
{
CGFloat delta = newright - (self.frame.origin.x + self.frame.size.width);
CGRect newframe =self.frame;
newframe.origin.x += delta ;
self.frame = newframe;
}
// Move via offset
- (void) moveBy: (CGPoint) delta
{
CGPoint newcenter =self.center;
newcenter.x += delta.x;
newcenter.y += delta.y;
self.center = newcenter;
}
// Scaling
- (void) scaleBy: (CGFloat) scaleFactor
{
CGRect newframe =self.frame;
newframe.size.width *= scaleFactor;
newframe.size.height *= scaleFactor;
self.frame = newframe;
}
// Ensure that both dimensions fit within the given size by scaling down
- (void) fitInSize: (CGSize) aSize
{
CGFloat scale;
CGRect newframe =self.frame;
if (newframe.size.height && (newframe.size.height > aSize.height))
{
scale = aSize.height / newframe.size.height;
newframe.size.width *= scale;
newframe.size.height *= scale;
}
if (newframe.size.width && (newframe.size.width >= aSize.width))
{
scale = aSize.width / newframe.size.width;
newframe.size.width *= scale;
newframe.size.height *= scale;
}
self.frame = newframe;
}
- 项目实战
- 实战项目
- 项目实战
- 项目实战
- 项目实战--项目介绍
- 【项目实战】Spring MyBatis 实战
- Java Web项目实战,Jsp项目实战
- MultimediaAnalyzer项目实战-启动项目
- 最近实战项目总结
- wcf项目实战
- 实战项目之用例图
- git项目实战
- python十个实战项目
- python十个实战项目
- CMMI 项目计划实战
- python十个实战项目
- python十个实战项目
- grails 实战项目
- android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)
- [图像处理]在Mac上安装 opencv ,用于 python
- 累加和程序小题 数字累加,小球路径……
- 数字签名,私匙与公匙
- P2P模块初始化
- 实战项目
- 基于dubbo扩展系统的调试实践
- ubuntu eclipse C++环境搭建
- 4.cpp
- [UnityUI]UGUI中的遮挡(一)
- js兼容多浏览器的关闭当前页面
- BZOJ1113【单调栈】
- Android 常用第三方开源库
- 流水作业调度-动态规划