2010-08-05 70 views
0

我有'n'按钮。我想在应用程序中随机播放这些按钮。或者你可以说我想在按钮上洗牌。它可能吗?它是一个Iphone应用程序。如何在按钮上拖曳按钮或标题?

+2

当然这是可能的。 – 2010-08-05 13:45:41

+0

不,这是不可能的 – mvds 2010-08-05 13:47:48

+0

可能的重复[我在可可界面生成器中使用5个按钮,我想洗牌。](http://stackoverflow.com/questions/3404218/i-am-using-5-buttons在可可接口建设者和我想要洗牌) 请勿乱丢StackOverflow,重复您自己的问题。 – 2010-08-05 13:58:25

回答

1

你可能需要知道:

  • 如何改变一个按钮的位置。你可以用frame属性来做到这一点。如果您只更改origin成员CGRect,则可以移动按钮而不调整其大小。
  • 如何更改按钮的标题(如果你不想改变它的位置)。这可以通过UIButtonsetTitle:forState:方法来实现。
  • 确定一个随机数。对于通用随机数生成,您可以使用rand()方法。对于更严重的随机数生成还有其他方法可用,但rand()应满足您的需求。只需确保在第一次致电rand()之前拨打srand()并带上一些种子。
  • 如果你有100个按钮,你可能不应该使用Interface Builder,但是你应该单独创建按钮,否则你最终会得到一个带有100 IBOutlet变量的类。自己创建它们并将它们保持在一个阵列中将使您更好地控制它们的洗牌。手动创建它们之前已在StackOverflow上有been discussed
0

当然这是可能的。您可以像这样在两个按钮上交换标题:

UIButton *b1, *b2; 
NSString *tmp; 
tmp = [b1 text]; 
[b1 setText:[b2 text]]; 
[b2 setText:tmp]; 

您可以将此过程扩展到n个按钮。

+0

啊,它可以交换文本。但假设我有100个按钮,那么它将无济于事。那么,如果这是你面前的情况,你能做什么?所以,发现有任何洗牌方法可用,可以用来洗牌整个按钮! – Tauquir 2010-08-05 13:56:19

+1

只需循环所有按钮,然后随机交换 – iwasrobbed 2010-08-05 14:12:12

+1

谁愿意使用带有100个洗牌按钮的应用程序? – dreamlax 2010-08-05 21:25:35