我的iPhone应用程序中的View上有UIScrollView和UIPageControl。我在这个Scrollview中填入了10个按钮的列表。这些按钮都正确填充,我可以完美地滚动它们。我的问题是:如何将点击事件连接到每个按钮?每个按钮将执行基本相同的任务(播放声音)但是每个按钮的声音都不同。按钮以编程方式通过以下方法创建:
private void CreatePanels()
{
scrollView.Scrolled += ScrollViewScrolled;
int count = 10;
RectangleF scrollFrame = scrollView.Frame;
scrollFrame.Width = scrollFrame.Width * count;
scrollView.ContentSize = scrollFrame.Size;
for (int i=0; i<count; i++)
{
float h = 150.0f;
//float w = 50.0f;
float padding = 10.0f;
int n = 25;
var button = UIButton.FromType (UIButtonType.RoundedRect);
button.SetTitle (i.ToString (), UIControlState.Normal);
UIImage img = new UIImage("Images/btntest.png");
button.SetImage(img, UIControlState.Normal);
button.Frame = new RectangleF (
(padding + 40) * (i + 1) + (i * (View.Frame.Width - 100)) ,
padding,
View.Frame.Width - 100,
h);
RectangleF frame = scrollView.Frame;
PointF location = new PointF();
location.X = frame.Width * i;
frame.Location = location;
button.Frame = frame;
scrollView.AddSubview(button);
}
pageControl.Pages = count;
}
private void ScrollViewScrolled (object sender, EventArgs e)
{
double page = Math.Floor(((scrollView.ContentOffset.X - scrollView.Frame.Width) / 2) / scrollView.Frame.Width) + 1;
pageControl.CurrentPage = (int)page;
}
在ViewDidLoad()方法中调用CreatePanels()方法,该方法填充UIScrollView。
请帮我将点击事件与这些按钮相关联。我在互联网上搜索了很多但无济于事。任何帮助都会被贬低。
提前致谢。 Ĵ
答案 0 :(得分:2)
如何为for循环中的每个click事件连接一个匿名方法?
button.TouchUpInside += (s, e) =>
{
//play i.mp3
};
我不确定如何实际播放声音文件,但您可以将声音文件命名为i。*,因为这就是您的按钮的名称。