小编Kru*_*nal的帖子

iOS 11 UISearchBar背景色

据我所知,这个问题已经被问过很多,很多倍左右.然而,随着Apple的发布最好,随着iOS 11的发布,它们似乎已经对它进行了一个看似不必要的改变UISearchBar,特别是它的视图层次结构.

此外,搜索栏的子视图中不再可访问搜索栏的"文本字段",导致所有先前的解决方案"访问"并更改文本字段的背景颜色或文本字段的任何属性那件事.

  • 有谁知道如何在iOS 11中实际调整搜索栏的背景颜色?

仅供参考: 我特别谈到文本背后的颜色......除非您将搜索栏样式指定为最小,否则现在从11开始默认为白色.

更新1:

因为我这个问题的帖子,我还没有找到一个有效的还是真的任何 真正解决这个问题.我似乎最接近的是深入了解外观,例如属性

[[UISearchBar class] appearanceWhenContainedInInstancesOfClasses:(nonnull NSArray<Class<UIAppearanceContainer>> *)]
Run Code Online (Sandbox Code Playgroud)

UISearchBar.使用以下找到的UITextFieldvia方法:

if ([view isKindOfClass:[UITextField class]]) {
    return (UITextField*)view;
}
UITextField *searchTextField;
for (UIView *subview in view.subviews) {
    searchTextField = [self searchViewForTextFieldBg:subview];
    if (searchTextField) {
        break;
    }
}
return searchTextField;
Run Code Online (Sandbox Code Playgroud)

您可以开始绘制要放置在视图后面的背景视图.然而,我发现过于繁琐而无法继续追求的问题是用正确的框架/边界绘制一个视图来模仿原始背景.

希望有人能找到这个问题的实际解决方案.好想念苹果......

objective-c uisearchbar ios swift ios11

10
推荐指数
3
解决办法
8205
查看次数

UIApplication.delegate只能从主线程使用

我在我的app delegate中有以下代码作为在我的其他viewControllers中使用CoreData的快捷方式:

let ad = UIApplication.shared.delegate as! AppDelegate
let context = ad.persistentContainer.viewContext
Run Code Online (Sandbox Code Playgroud)

但是,我现在收到错误消息:

"从后台线程调用UI API"和"UIApplication.delegate必须仅从主线程使用".

当我的应用程序在后台时,我正在使用CoreData,但这是我第一次看到此错误消息.有谁知道这里发生了什么?

更新:我试图在appDelegate类本身内移动它,并使用以下代码 -

let dispatch = DispatchQueue.main.async {
    let ad = UIApplication.shared.delegate as! AppDelegate
    let context = ad.persistentContainer.viewContext
}
Run Code Online (Sandbox Code Playgroud)

现在,我无法再访问外部的广告和上下文变量AppDelegate.有什么我想念的吗?

xcode thread-safety uiapplication ios swift

10
推荐指数
1
解决办法
5541
查看次数

iOS自动布局:表格视图单元格的动态高度

我有一个包含一堆单元格的表视图(自定义单元格,只有其内容视图).

tableView:cellForRowAtIndexPath:我添加预定义的UIView(有几个子视图)到自定义单元格的内容视图.我之前为UIView及其子视图设置了所有约束.

最后但并非最不重要的是,我为自定义单元格(superview)的内容视图和之前添加的UIView(子视图)设置了垂直和水平约束.

约束字符串如下所示:

    H:|[view]|
    V:|[view]|
Run Code Online (Sandbox Code Playgroud)

不幸的是,我仍然获得所有表视图单元格的默认高度.我想知道是否有办法让自动布局根据内容大小自动计算高度.

row-height uitableview ios autolayout nslayoutconstraint

9
推荐指数
2
解决办法
8924
查看次数

iPhone 6加模拟器缩放

即使将iPhone 6 plus模拟器扩展到50%(没有选项可以缩小此尺寸),使用它的尺寸仍然很大.如何将其缩小到25%或更低?

在此输入图像描述

xcode simulator ios ios-simulator xcode9

9
推荐指数
1
解决办法
3289
查看次数

"http://schemas.microsoft.com/winfx/2009/xaml"命名空间中不存在"类"属性

我正在使用Xamarin.Forms构建应用程序,在制作XAML页面时,我收到以下错误:

" http://schemas.microsoft.com/winfx/2009/xaml "命名空间中不存在"类"属性.

这不是我制作的第一页,除了这一页之外,所有其他页面似乎都能正常工作.我检查了所述文件的引用和属性,它们看起来都很好.

这是我的代码:

<?xml version="1.0" encoding="utf-8" ?>
<controls:ViewPage xmlns="http://xamarin.com/schemas/2014/forms"
                   xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                   x:Class="XXXX"
                   xmlns:controls="XXXX"
</controls:ViewPage>
Run Code Online (Sandbox Code Playgroud)

背后的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XXXX;
using Xamarin.Forms;

namespace XXXX
{
    public partial class ActOverviewView : ViewPage, IActOverviewView
    {
        public ActOverviewView()
        {
            InitializeComponent();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2015

xaml visual-studio xamarin xamarin.forms

9
推荐指数
1
解决办法
592
查看次数

使用swift 4访问扩展中的fileprivate和私有变量以及另一个类

我一直在浏览最近的swift文档,并在swift4中了解私有和fileprivate关键字的几个例子.我试图在同一个类的扩展中访问fileprivate和private变量,并且另一个类继承类,但输出是无效的.我正在以下列方式使用

  class privateUsageExample: UIViewController {
    private var priVar = false
    fileprivate var fPriVar = false
  }

  // usage of extension in the same class

  extension privateUsageExample: UITextFieldDelegate {

     if priVar{ // do something} // error : expected declaration
     if fPriVar{ // do something} // error : expected declaration

     func randFunc(){ 
        self. fPriVar = true // accessible don't know the reason 
      }
  }

  // access of private and fileprivate variables in another class different file

  class anotherUsageInDiffSwiftFile: privateUsageExample {

   priVar = …
Run Code Online (Sandbox Code Playgroud)

access-control access-specifier ios swift swift4

9
推荐指数
2
解决办法
1万
查看次数

Selenium webdriver使用Web驱动程序的Java代码,用于双击网格中的记录

如何doubleClick()使用Web驱动程序在记录上编写selenium java代码?

我在身体部位显示了一些记录.一旦我点击了一条记录,我们就应该有一个弹出窗口来更新它.

请建议如何使用Web驱动程序编写Selenium Java代码.

我试过以下代码:

Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//table/tbody/tr[2]/td/div/div/table/tbody/tr[10]/td[1]"))).doubleClick().build().perform();
Run Code Online (Sandbox Code Playgroud)

java selenium selenium-webdriver

8
推荐指数
3
解决办法
9万
查看次数

Swift 3 - 调整字体大小以适合宽度,多行

我有一个UILabel,它被设置为42.0磅字体,标签的宽度是根据标签本身以外的因素使用自动约束设置的(也就是标签右边和左边的东西确定标签的宽度).

我想自动调整字体大小以适应标签的宽度,但是如果可以的话也会分成两行.与此类似:

在此输入图像描述

我知道您可以调整字体大小以适应标签的宽度,但仅限于行数设置为1时.

我怎么做到这一点?

font-size uilabel ios swift swift3

8
推荐指数
2
解决办法
5567
查看次数

如何以编程方式添加安全区域

打开视图时,它将如下图所示,

我打电话x打开视图

我打电话8打开视图

对于iphone x,我想在当前视图中以编程方式添加安全区域.

尝试的来源如下.

UIView *view = self.view;

if (@available(iOS 11.0, *)) {
    UILayoutGuide * guide = view.safeAreaLayoutGuide;
    [view.topAnchor constraintEqualToAnchor:guide.topAnchor].active = YES;
    [view.bottomAnchor constraintEqualToAnchor:guide.bottomAnchor].active = YES;
}
Run Code Online (Sandbox Code Playgroud)

我想应用这个来源,但我不知道该怎么做.

请回答我的问题.

objective-c ios ios11 xcode9 safearealayoutguide

8
推荐指数
1
解决办法
1万
查看次数

正在等待{simulator/device}启动

使用Xcode 9.3(测试版)时,我遇到了Xcode工具的问题,而我在Xcode启动/启动后第一次尝试构建/运行应用程序(项目).

有几次,它会阻止项目构建,并在状态栏上显示消息:

等待iPhone-X启动

虽然我的模拟器已经启动并正常工作(没有任何活动,继续,在模拟器中).

这是参考快照:

在此输入图像描述

作为临时解决方案,我强制关闭Xcode(9.3)并重新开始.

在此输入图像描述

Xcode 9.3 beta是否有任何人面临同样的问题?

更新:Xcode 9.3-Beta 2中也存在同样的问题.

xcode ios ios-simulator xcode9.3-beta

8
推荐指数
1
解决办法
2739
查看次数