gpt4 book ai didi

ios - Xamarin iOS 表格 View 单元格与搜索栏相交

转载 作者:行者123 更新时间:2023-12-01 20:16:22 27 4
gpt4 key购买 nike

我正在使用 Xamarin 编写 iOS 应用程序,但表格 View 和搜索栏出现问题 - 单击搜索栏并输入文本后,搜索结果 View Controller 无法正常工作 - 单元格在滚动时,与搜索栏相交。

为了清楚起见,我记录了这个问题:

YouTube - iOS Problem

到目前为止,我已经发现问题与节数、节标题或表标题无关。现在完全没有想法,虽然......

下面可以用作示例,因为那里出现了相同的问题:

GitHub - TableSearch

在本例中,将以下代码行添加到“MainTableViewController.cs”文件中的“ViewDidLoad()”方法的末尾将使问题更加明显:

searchController.SearchBar.SearchBarStyle = UISearchBarStyle.Minimal;

编辑

看下面的图片,理想情况下我需要删除或缩小顶部区域(这似乎是 iOS 导航栏的空间):

Annotated

最佳答案

你看过 Xamarin 的示例吗here它与您使用的布局相同,只是为了比较您设置搜索栏的方式。

编辑
我现在明白你的意思了,我认为这是 iOS 中的一个错误,因为背景颜色在搜索栏上是透明的,你永远不会想要这样。
我刚刚添加了另一个 View 来覆盖状态栏并将背景颜色设置为白色:

        searchController.SearchBar.SearchBarStyle = UISearchBarStyle.Minimal;

searchController.SearchBar.BackgroundColor = UIColor.White;
var frame = searchController.SearchBar.Frame;
frame.Height = searchController.SearchBar.Frame.Height + 22;
frame.Y = searchController.SearchBar.Frame.Y - 22;
var bckGRound = new UIView (frame);
bckGRound.BackgroundColor = UIColor.White;
searchController.SearchBar.InsertSubview (bckGRound, 0);

更新
我意识到,对于您的场景,您不能只添加一个 View 来掩盖这一点,所以我正在考虑向搜索栏添加模糊,如下所示:
        var frame = searchController.SearchBar.Frame;
frame.Height = searchController.SearchBar.Frame.Height + 44;
frame.Y = searchController.SearchBar.Frame.Y - 22;

var blurryBackGround = new UIView (frame);
if (!UIAccessibility.IsReduceTransparencyEnabled)
{
blurryBackGround.BackgroundColor = UIColor.Clear;
var blureffect = UIBlurEffect.FromStyle (UIBlurEffectStyle.Light);
var blureffectview = new UIVisualEffectView (blureffect);
blureffectview.Frame = frame;
blurryBackGround.AddSubview (blureffectview);
}
else
{
blurryBackGround.BackgroundColor = UIColor.Black;
}
searchController.SearchBar.InsertSubview (blurryBackGround, 0);

enter image description here

更新 2

如果您的背景不随表格移动,那么您可能只需裁剪搜索栏覆盖的背景图像部分,然后使用以下代码设置搜索栏的背景图像:
        searchController.SearchBar.SetBackgroundImage (new UIImage ("image.jpg"), UIBarPosition.TopAttached, UIBarMetrics.Default);

关于ios - Xamarin iOS 表格 View 单元格与搜索栏相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36666405/

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