一旦你得到你想要的东西,你将如何停止快速枚举.
在for循环中,我知道你只需将计数器数设置为千分之一.例:
for (int i=0;i<10;i++){
if (random requirement){
random code
i=1000;
}
}
Run Code Online (Sandbox Code Playgroud)
所以没有将快速枚举转换为正向循环类型的东西(通过比较我[array count]如何在过程中停止快速枚举?
我有一个类似于程序的拼图,你可以按照正确的顺序将块放在一起,以尝试完成拼图.当你完成后,你可以点击播放按钮然后程序将让一个小男人走过你的街区所在的街区.因此,如果您放置一个块,一个块右,一个块下来,然后点击播放程序将调用然后调用方法向上移动,向右移动,向下移动.
当我的程序运行并试图找出要调用的方法以及以什么顺序调用时,我需要在程序找到它们时按顺序存储这些方法,基本上,我不能让程序在它数字时立即调用方法要调用哪些方法,否则移动块的人会快速移动,我想将方法存储在某种方法数组中(我认为它会像某种选择器),这样我就可以调用每种方法在我的程序找出了它要做的一切之后的某个时间间隔内.
我的正常程序现在看起来像这样
if(random requirements)
[self moveUp]
else if(random requirements)
[self moveDown]
else if (random requirements)
[self moveRight]
else if(random requirements)
[self moveLeft]
Run Code Online (Sandbox Code Playgroud)
好吧,我宁愿这看起来像这样
if(random requirements)
SEL selector addMethod:[self moveUp]
else if(random requirements)
SEL selector addMethod:[self moveDown]
else if (random requirements)
SEL selector addMethod:[self moveRight]
else if(random requirements)
SEL selector addMethod:[self moveLeft]
Run Code Online (Sandbox Code Playgroud)
显然这不是真正的语法,但你能理解我在寻找什么吗?
当我的用户在按住UIButton的同时拖动他的手指时,我可以在该点获得手指的触摸位置吗?如果我不能这样做,我似乎可以创建一个UIImageView并给它按钮质量.在此之后我将实现触摸开始,移动,结束方法.
这些方法; 但是,触摸UIButton时不要运行.
我需要这个的原因是因为我想找出移动之外的触摸拖动的方向,以及其他各种原因,但如果这是不可能的,我将不得不创建UIImageViews.
另外,我没有UIButton的子类,我太初学者不能使用苹果群.
想象一下你的键盘.想象一下,自己将一根手指放在一个键上,然后(按住)将手指一直移动到键盘上的另一个键.现在,想象一下键盘上的每个键都是UIButton.当您将手指放在当前键上时,此键(UIButton)会突出显示.然后,当用户移动到另一个键时,不再突出显示第一个键,并且突出显示按下的当前键.
现在,我有一个6 x 8网格的UIButtons,每个53 x 53像素.所以,我有48个UIButtons.我想复制这种想法.用户手指所在的按钮将具有稍微更轻的图像(看起来像选择的那样),并且所有其他图像将不会稍微更轻.
这是我对如何解决这个问题的看法,
1)创建全部48 UIButtons英寸viewDidLoad.UIControlStateHighlighted为所有人添加较亮的图像UIButtons.
2)添加某种方式,target以touchUpOutside某种方式使当前按钮不突出显示,不可用.(可能设置突出显示,然后设置userInteractionEnabled为否).但是,我怎么能告诉下一个按钮被使用?我怎么能说我希望UIButton用户手指所具有的特定内容突出显示并用于检测手势和内容.
此外,这种touchUpOutside方法可能无法正常工作,因为所有按钮都是彼此相邻的,我认为你必须拖远才能运行它touchUpOutside.
同样重要的是要注意按钮没有放在相同的行和列中.有时一个按钮实际上是一个UIImage但看起来像一个按钮UIButton.因此,出于某种原因进行某种快速枚举比较帧是行不通的.
我不知道setneedsdisplay和uiviewcontentmoderedraw之间的区别,你什么时候使用它们,它们不是完全相同的东西吗?
我正在尝试制作一个游戏,如果你点击一个小的50X53图像显示你点击它的地方,我开始使50x53图像的东西一个按钮,当你触摸按钮按钮的背景变为红色(到模拟在那里添加了一个图像)所以这里我在viewController上有大约48个按钮(6X8),每当我按下其中一个按钮时,背景变为红色,确定简单,但现在我想做的是拥有UI完全空白(您看不到任何按钮)然后当您按下给定区域时,会在您按下的那个小空间中弹出一个图像.我想而不是做
-(IBAction)imagePressed
{
sender.background=[UIColor redColor];
}
-(IBAction)imagePressedAgain
{
sender.background=[UIColor whiteColor];
}
Run Code Online (Sandbox Code Playgroud)
我打算做点什么
-(IBAction)imagePressed
{
sender.image=@"whateverImage.png";
//I know this isn't the right syntax to change a buttons image (and i don't even know if i can change a buttons image) but anyways i was going to try to here
}
-(IBAction)imagePressedAgain
{
sender.image=@"imageThatIsJustAWhiteBackground";
}
Run Code Online (Sandbox Code Playgroud)
所以我试着这样做,然后想到自己,嗯,也许我不应该这样做,我应该使用一堆小UIImageViews并将它们全部放在interfaceBuilder上?喜欢而不是在屏幕上有48个按钮,我会有48个UIImageViews?然后我想我会为每个添加一个轻拍手势识别器?或者我应该坚持我的旧计划并更改按钮图像?
(o,顺便说一句,我不能让图像与用户在屏幕上触摸手指的位置完全成比例,我必须将它放在有组织的网格中,所以我必须有48个.)
我很困惑.我没有状态栏,我不知道如何制作滚动视图的尺寸.是320 x 480还是320 x 460?因为当我将它拖到故事板上并且它填满整个屏幕时它表示它是320 x 460,但是当我向它添加子视图时,它们会被奇怪地定位,因此它就像视图是20像素短或者其他东西.
编辑:我只是有点困惑,因为当我的状态栏消失,它没有重新调整视图大小,它只是使视图20像素更短,这没有真正意义,对吧?它不应该使它更长20像素,而不是只切断20像素?
你如何用参数执行选择器?这是我的代码:
SEL methods=NSSelectorFromString([arrayWithMethods objectAtIndex:i]);
[self performSelector:methods withObject:self afterDelay:MAN_SPEED*i];
Run Code Online (Sandbox Code Playgroud)
如果我的selector方法有参数,我该如何指定它?
我想在我的按钮上添加一个手势识别器,以便我可以在用户滑过按钮框架时运行代码.如果滑动向上,向右,向左或向下按钮,我也希望此代码不同.
-(void)viewDidLoad
{
[super viewDidLoad];
UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame=CGRectMake(0, 0, 100, 100);
[self.view addSubview:button];
UIGestureRecognizer *swipe=[[UIGestureRecognizer alloc]initWithTarget:button action:@selector(detectSwipe)];
[button addGestureRecognizer:swipe];
}
Run Code Online (Sandbox Code Playgroud)
所以,我做的initWithTarget:action:事情是否正确?现在,我这样做我如何实施该detectSwipe方法?
这是我对如何实施的想法 detectSwipe
-(IBAction)detectSwipe:(UIButton *)sender
{
/* I dont know how to put this in code but i would need something like,
if (the swipe direction is forward and the swipe is > sender.frame ){
[self ForwardSwipeMethod];
} else if //same thing for right
else if //same thing for left
else if //same thing for …Run Code Online (Sandbox Code Playgroud) 我有一个带UISlider的iPhone应用程序.当我的用户按下播放按钮时,我希望我的滑块从值1缓慢移动到值100.滑块在录制期间滑动,当用户按下播放按钮时播放.
我查看了UISlider文档.唯一可能对我有用的setValue:animated:方法就是方法.但是,当动画=是时,滑块移动到值100的速度太快.
有什么方法可以减慢它的速度吗?
ios ×6
iphone ×5
xcode ×5
objective-c ×4
uibutton ×3
for-in-loop ×1
for-loop ×1
ios6 ×1
selector ×1
size ×1
uiimage ×1
uiimageview ×1
uislider ×1