操作员=~叫什么?它只用于比较左侧的右侧吗?
运行测试时为什么需要双方括号?
即. [[ $phrase =~ $keyword ]]
谢谢
我有一个UIView,我正在尝试设置它的图层属性.
self.colorSwatch = [[UIView alloc] initWithFrame:CGRectMake(400, 150, 100, 100)];
self.colorSwatch.layer.cornerRadius = 8;
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试访问该.layer.cornerRadius属性时,我收到一条警告,指出在前向类对象'CALayer*'中找不到"属性'cornerRadius'.
这是什么意思?谢谢
我正在尝试创建一个滑动菜单(有点像在Facebook/Twitter应用程序中),我的版本成功地使用平移手势来实现此效果.该类称为"SlideMenu".
我在我的ViewController中实例化了一个SlideMenu,然后在其上添加了一堆UI元素作为子视图,例如UISliders,UIButtons等.
问题是,平移手势似乎会干扰UISlider,因为它会滑动,但在很短的距离后停止.我在答案上找到了一段代码(手势问题:UISwipeGestureRecognizer + UISlider)但是我不确定如何实现它或者它是否适用于我的设计.
代码是这样的:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UISlider class]]) {
// prevent recognizing touches on the slider
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我尝试将它添加到我的SliderMenu类和我的ViewController,但没有骰子.这是怎么回事?我必须设置什么代表(如果有的话)?谢谢
我似乎很难通过CALayers添加面膜.我只是想掩盖一个UIImageView.这是我的代码:
CALayer *maskLayer = [CALayer layer];
UIImage *mask = [UIImage imageNamed:@"mask.png"];
maskLayer.contents = mask;
UIImageView *viewToMask = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
viewToMask.image = [UIImage imageNamed:@"picture.png"];
viewToMask.layer.mask = maskLayer;
[self.view addSubview:viewToMask];
Run Code Online (Sandbox Code Playgroud)
Mask.png是黑色的,透过它穿过透明圆圈(这是掩盖的正确方法吗?).我不知道这是什么失败,也许是maskLayer.contents因为它应该是一个CGImageRef但是当我设置它时mask.CGImage,或者通过局部变量我得到错误CGImageRef = mask.CGImage.无论如何,它现在设置的方式不会出错,所以我希望它没问题.
有谁知道发生了什么,或者如何使用CALayers正确设置面具?谢谢
我正在开发一个iPad照片拼贴应用程序,它可以同时UIImageView在屏幕上绘制数百个s.
有一个按钮可以让用户"重新创建",假设在所有照片上运行一个for循环[photo removeFromSuperview],然后按顺序初始化一个新批次.
我正在使用ARC,我的控制台告诉我,在下一批绘制之后,我Photo的dealloc方法才被调用,这意味着我遇到了内存问题,即使我正在尝试删除第一组在添加下一组之前.
有没有办法要么1)等到所有照片都被正确解除了或2)强制所有的照片立即在ARC下解除?
cocoa-touch memory-management objective-c automatic-ref-counting
我有一个CGImageRef(让我们称之为原始图像)和一个透明的png(水印).我正在尝试编写一种方法将水印放在原始顶部,并返回CGImageRef.
在iOS中,我会使用UIKit将它们绘制到上下文中,但这似乎不适用于OSX(不支持UIKit).
什么是堆叠两个图像最简单的方法?谢谢
我正在尝试访问我的字典对象.这是我的代码:
int tag = object.tag;
CGPoint point = [[self.dict objectForKey:tag] CGPointValue];
Run Code Online (Sandbox Code Playgroud)
问题是objectForKey应该采用Objective-C对象,而不是int.我尝试将标记包装到NSNumber中[NSNumber numberWithInt:tag]并将其传递给objectForKey:但是它返回一个空对象.
有任何想法吗?谢谢
我的手势识别器有一个小问题.
我有一个名为"Sprite"的类,它只是一个UIImageView.Sprite有自己的手势识别器和处理方法,因此用户可以平移,旋转和调整图形大小.
这是我的代码:
-(void)setup{ //sets up the imageview...
//add the image, frame, etc.
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(handleRotate:)];
[self addGestureRecognizer:panGesture];
[self addGestureRecognizer:pinchGesture];
[self addGestureRecognizer:rotateGesture];
}
//handling methods
-(void)handlePinch:(UIPinchGestureRecognizer *)recognizer{
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
}
-(void)handleRotate:(UIRotationGestureRecognizer *)recognizer{
recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
recognizer.rotation = 0;
}
-(void)handlePan:(UIPanGestureRecognizer *)recognizer{
CGPoint translation = [recognizer translationInView:self];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);
[recognizer …Run Code Online (Sandbox Code Playgroud) 我想弄清楚CGPoint是否位于图像的形状内.图像是简单的黑色形状,例如下面附着的两个.我想创建一个方法来确定CGPoint是否位于该形状的黑色区域内.
我认为这需要两件事:1)将图像转换为可以用代码读取的东西(不确定这将使用什么样的图像处理或如何)
2)使用它作为参考来确定CGPoint是否位于其中.
任何帮助或想法赞赏.我之前从未做过图像处理类型的编码.谢谢!
