如何在iOS中的UIImageView的圈内裁剪图像

我有一个应用程序,我有一个UIImageView显示主图像和另一个UIImageView被用作一个面具,显示一个圆形,透明的,不透明的,这个圆形可以移动使用UIPanGestureRecognizer ,我想知道一个UIPanGestureRecognizer圈内的图像变成新的图像。 这里是附加的代码和屏幕截图 – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // create pan gesture UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; [self.view addGestureRecognizer:pan]; CAShapeLayer *shapeLayer = [CAShapeLayer layer]; shapeLayer.path = [[self makeCircleAtLocation:self.view.center radius:100.0] CGPath]; shapeLayer.strokeColor = [[UIColor clearColor] CGColor]; shapeLayer.fillColor = nil; shapeLayer.lineWidth = 3.0; // Add CAShapeLayer […]

如何正确释放AVCaptureSession

我正在使用AV基础课程从摄像头捕捉实时videostream并处理video样本。 这很好。 但是,一旦完成,我确实遇到了正确释放AV基础实例(捕获会话,预览图层,input和输出)的问题。 当我不再需要会话和所有关联的对象时,我停止捕获会话并释放它。 这在大多数情况下是有效的。 但是,有时应用程序会崩溃,在调度队列创build的第二个线程(以及处理video样本的位置)中引发EXEC_BAD_ACCESS信号。 崩溃主要是由于我自己的类实例,它作为样本缓冲区委托,并在停止捕获会话后被释放。 Apple文档提到了这个问题:停止捕获会话是一个asynchronous操作。 那就是:它不会立即发生。 具体来说,第二个线程继续处理video样本并访问像捕获会话或input和输出设备的不同实例。 那么如何正确地释放AVCaptureSession和所有相关的实例呢? 是否有一个通知,可靠地告诉我,AVCaptureSession已经完成? 这是我的代码: 声明: AVCaptureSession* session; AVCaptureVideoPreviewLayer* previewLayer; UIView* view; 实例的设置: AVCaptureDevice* camera = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeVideo]; session = [[AVCaptureSession alloc] init]; AVCaptureDeviceInput* input = [AVCaptureDeviceInput deviceInputWithDevice: camera error: &error]; [session addInput: input]; AVCaptureVideoDataOutput* output = [[[AVCaptureVideoDataOutput alloc] init] autorelease]; [session addOutput: output]; dispatch_queue_t queue […]

在iOS上加载NSBundle文件

我想创build一个具有非常灵活的graphics用户界面( skinnable )的项目。 为了使这成为可能,我想从外部资源,例如一个网站加载一个NSBundle。 该包应该包含与主项目中的一些属性和方法(IBOutlets&IBActions)相对应的nib, 看来苹果已经限制了以这种方式使用NSBundle的可能性。 有什么办法可以使这项工作? 如果以传统的方式不可能的话,那么可以推荐的替代方法是什么?

UIBarButtonItem在导航栏编程?

我一直在寻找这个解决scheme一段时间,但没有得到任何。 例如一个解决scheme是 self.navigationItem.setRightBarButtonItem(UIBarButtonItem(barButtonSystemItem: .Stop, target: self, action: nil), animated: true) 这段代码将添加一个“停止”图像的button。 就像这样,还有其他的解决scheme,“search”,“刷新”等等。但是,如果我想用我想要的图像以编程方式添加button怎么办?

在iOS中的另一个图像覆盖图像

我在iOS应用程序中显示来自YouTube的缩略图图像。 点击后,将转到youtube。 我需要将播放button叠加到这些图像上。 什么可能是最直接的方式呢? 另外,图像被远程加载到桌子上,所以性能是一个很大的考虑因素

用iPhone 4上的陀螺仪补偿指南针滞后

我一直在iPhone 4上进行罗盘和陀螺仪的试验,并希望得到一些帮助。 我想用陀螺仪的数据补偿指南针的慢度。 使用CMMotionManager及其CMDeviceMotion对象( motionManager.deviceMotion ),我得到CMAttitude对象。 纠正我,如果我错了(请),但这是我从CMAttitude对象的yaw属性(我不需要pitch或roll为我的目的)推断: 当手机朝下(如deviceMotion.gravity.z )和逆时针摆动时, yaw范围从0到PI当顺时针摆动时, 0到deviceMotion.gravity.z 当设备向上时, yaw范围从-PI到0和PI到0 并从指南针数据(我使用locationManager.heading.magneticHeading ),我看到指南针给出的值从0到360 ,顺时针方向摆动 好的,所有这些信息一起使用,我可以得到一个我称之为horizontal的值,无论设备是向上还是向下,都会给出从0到360值,当设备顺时针摆动(尽pipe当deviceManager.gravity.z在0左右时,我仍然遇到了麻烦 – yaw值在这个gravity.z值处出现deviceManager.gravity.z )。 在我看来,我可以使用计算出的horizontal值映射到magneticHeading ,“同步” horizontal和magneticHeading值,当我觉得指南针“已经卷入”时,将horizontal值“同步”到magneticHeading 。 所以我的问题: 我在这个正确的轨道? 我是否正确使用CMDeviceMotion的陀螺仪数据,以及上面列出的假设是否正确? 当gravity.z在0左右时,为什么可能会gravity.z呢? 非常感谢你。 我期待听到你的答案!

是否有可能在没有Mac的情况下为iOS创buildPhoneGap应用程序?

所以我有一个HTML 5应用程序,我可以访问苹果开发人员中心(iOS开发人员中心更准确)。 问题是我可以使用它而不购买(贷款)的Mac? 这意味着,我可以从Windows或Linux创build/下载我的开发人员证书和configuration文件吗?

更改iOS 7上的标签栏色调颜色

有没有办法将iOS 7上的标签栏的色调从默认的白色蓝色图标更改为另一种颜色色调与不同的颜色button?

如何开发iPhone MDM服务器?

我刚刚阅读了有关iOS设备的移动设备pipe理服务器,但所有文档均指“第三方MDM服务器”。 我的问题是我怎样才能自己开发一个“第三方MDM服务器”? 我没有find任何关于这个文件。

如何设置cornerRadius仅UIView的左下angular,右下angular和左上angular?

有没有一种方法来设置cornerRadius仅UIView的左下angular,右下angular和左上angular? 我尝试了以下,但最终导致视图消失。 下面的代码有什么问题吗? UIBezierPath *maskPath; maskPath = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:(UIRectCornerBottomLeft | UIRectCornerBottomRight) cornerRadii:CGSizeMake(20.0, 20.0)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.path = maskPath.CGPath; view.layer.mask = maskLayer;