gpt4 book ai didi

ios - 禁用表格 View 中的弹跳使得在尝试过度滚动后点击单元格两次

转载 作者:行者123 更新时间:2023-11-28 08:04:17 25 4
gpt4 key购买 nike

在 TableView 中,禁用弹跳使得在尝试过度滚动 TableView 后点击两次以检测 didSelectRowAtIndexPath() 委托(delegate)。启用弹跳后,它会在滚动时在表格 View 的开始和结束处提供一个空白空间,并且在单元格上单击一次会调用 didSelectRowAtIndexPath() 委托(delegate)。有什么方法可以解决在用户尝试过度滚动后双击单元格以选择它的问题吗?

代码

View Controller

public partial class MyViewController : UIViewController
{
public MyViewController() : base("MyViewController", null)
{
}

public override void ViewDidLoad()
{
base.ViewDidLoad();
sampletable.Source = new TableSource();
}
}

表格来源

public class TableSource :UITableViewSource
{
string[] data = new string[] { "one", "two", "three", "four", "five" };
string[] header = new string[] { "Header1", "Header2", "Header3", "Header4", "Header5" };
public TableSource()
{
}

public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
var cell = (MyTableViewCell)tableView.DequeueReusableCell(MyTableViewCell.Key);
if (cell == null)
{
cell = MyTableViewCell.Create();
}
cell.data = data[indexPath.Row];
return cell;
}

public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
Console.WriteLine(header[indexPath.Section] + "->" + data[indexPath.Row]);
}

public override nint RowsInSection(UITableView tableview, nint section)
{
return data.Length;
}

public override nint NumberOfSections(UITableView tableView)
{
return header.Length;
}

public override string TitleForHeader(UITableView tableView, nint section)
{
return header[section];
}

public override nfloat GetHeightForHeader(UITableView tableView, nint section)
{
return 50;
}
}

细胞

public partial class MyTableViewCell : UITableViewCell
{
public static readonly NSString Key = new NSString("MyTableViewCell");
public static readonly UINib Nib;
public string data { get; set; }
static MyTableViewCell()
{
Nib = UINib.FromName("MyTableViewCell", NSBundle.MainBundle);
}

protected MyTableViewCell(IntPtr handle) : base(handle)
{
// Note: this .ctor should not contain any initialization logic.
}

public static MyTableViewCell Create()
{
return (MyTableViewCell)Nib.Instantiate(null, null)[0];
}

public override void LayoutSubviews()
{
countLabel.Text = data;
}
}

我取消选中界面生成器中的弹跳、弹跳垂直和弹跳水平复选框

更新:原生 iOS Swift 版本代码

Here is the Native iOS Swift Version Code

最佳答案

您好,我找到了解决方案,

ScrollView config in interface builder

现在我可以在我的 tableview 中点击一次而不是两次。

希望对您有所帮助。

关于ios - 禁用表格 View 中的弹跳使得在尝试过度滚动后点击单元格两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45620095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com