相关疑难解决方法(0)

添加空间/填充到UILabel

我有一个UILabel我想在顶部和底部添加空间的地方.在约束中使用最小高度我将其修改为:

在此输入图像描述

编辑:要做到这一点,我用过:

  override func drawTextInRect(rect: CGRect) {
        var insets: UIEdgeInsets = UIEdgeInsets(top: 0.0, left: 10.0, bottom: 0.0, right: 10.0)
        super.drawTextInRect(UIEdgeInsetsInsetRect(rect, insets))

    } 
Run Code Online (Sandbox Code Playgroud)

但我要找到一种不同的方法,因为如果我写两行以上的问题是相同的:

在此输入图像描述

padding uilabel ios

156
推荐指数
19
解决办法
20万
查看次数

在Swift中设置UITextField的最大字符长度

我知道还有其他主题,但我似乎无法找到如何实现它.

我试图将UITextField限制为只有5个字符

优选字母数字和 - 和.和_

我见过这段代码

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange,
                       replacementString string: String) -> Bool
{
    let maxLength = 4
    let currentString: NSString = textField.text
    let newString: NSString =
             currentString.stringByReplacingCharactersInRange(range, withString: string)
    return newString.length <= maxLength
}
Run Code Online (Sandbox Code Playgroud)

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {

    let length = count(textField.text.utf16) + count(string.utf16) - range.length
    return length <= 10 
}
Run Code Online (Sandbox Code Playgroud)

我只是不知道如何实际实现它或我应该换出哪个"textfield"我的自定义命名为UITextField

string character uitextfield ios swift

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

我可以在同一视图上使用setFrame和autolayout吗?

我想为我的所有按钮添加填充,因此我将UIButton子类化,除了其他更改之外,我还想使用setFrame方法添加固定填充.除了setFrame之外,一切正常.我查了一下,我发现如果我在该视图上取消选中"使用AutoLayout",那么我可以使用setFrame,它可以工作.有没有解决的办法?我真的想使用自动布局,因为它有助于使应用程序在iphone 5和早期设备上都看起来不错.但我也想在我的子类中使用setFrame,以使我的生活更轻松.

总结一下,我的问题是:我可以使用autolayout并以编程方式调整UIView的框架吗?

iphone cocoa-touch interface-builder frame autolayout

63
推荐指数
2
解决办法
5万
查看次数

IOS - 从UITextView中删除所有填充

在SO上有许多很好的例子来删除UITextView的左边距.

如何在UITextView中丢失边距/填充?

但是,我也需要删除正确的填充.

我试过了...

[tv setContentInset: UIEdgeInsetsMake(-4,-8,-8,-X)];//where X is any integer
Run Code Online (Sandbox Code Playgroud)

几乎所有其他排列的最后两个值删除填充,似乎没有任何工作.也试过了

[tv sizeToFit];
[tv setTextAlignment:[NSTextAlignmentRight]];
Run Code Online (Sandbox Code Playgroud)

Textview中的以下文本显示"00"

在此输入图像描述

padding uitextview ios

49
推荐指数
5
解决办法
3万
查看次数

如何在SwiftUI中创建多行TextField?

我一直在尝试在SwiftUI中创建多行TextField,但是我不知道怎么做。

这是我目前拥有的代码:

struct EditorTextView : View {
    @Binding var text: String

    var body: some View {
        TextField($text)
            .lineLimit(4)
            .multilineTextAlignment(.leading)
            .frame(minWidth: 100, maxWidth: 200, minHeight: 100, maxHeight: .infinity, alignment: .topLeading)
    }
}

#if DEBUG
let sampleText = """
Very long line 1
Very long line 2
Very long line 3
Very long line 4
"""

struct EditorTextView_Previews : PreviewProvider {
    static var previews: some View {
        EditorTextView(text: .constant(sampleText))
            .previewLayout(.fixed(width: 200, height: 200))
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

但这是输出:

在此处输入图片说明

ios swiftui

31
推荐指数
11
解决办法
5895
查看次数

UITextView textContainerInset不尊重底部插入值

我有一个显示NSAttributedString的UIView.它设置为调整大小以适应其内容.

我想在文本和视图之间创建一些填充,但它不是很有效.如果我这样做......

view.textContainerInset = UIEdgeInsetsMake(0, 15, 0, 15);
Run Code Online (Sandbox Code Playgroud)

...然后左边和右边填充,顶部和底部没有空间.这是对的.然后我添加一个顶部插图:

view.textContainerInset = UIEdgeInsetsMake(15, 15, 0, 15);
Run Code Online (Sandbox Code Playgroud)

现在顶部有15个点填充,但突然底部也有一点填充(大约10点).

如果我然后添加15点底部填充,底部变得太大,并且间距不是一直相同.相反,我必须捏造它:

view.textContainerInset = UIEdgeInsetsMake(15, 15, 5, 15);
Run Code Online (Sandbox Code Playgroud)

这是iOS 7的错误还是我误解了什么?我不喜欢在不了解正在发生的事情的情况下捏造最低价值.

uitextview ios7 textkit

14
推荐指数
1
解决办法
3502
查看次数

如果全宽并且位于textContainer顶部,则UITextView textContainer排除路径将失败

在iOS 8中,我正在尝试添加UIImageView作为UITextView的子视图,类似于此处所示 - 但是图像下方的文本.

在此输入图像描述

我想使用排除路径来执行此操作,因为在其他设备上,我可能会根据屏幕大小对图像进行不同的定位.

但是有一个问题,如果用于创建排除路径的CGRect的Y原点为0,并占用textView的整个宽度,则排除失败并且文本显示在排除路径中(因此文本显示在后面imageView,你可以在截图中看到).

为了测试这个,我使用"单视图"Xcode模板构建了一个简单的应用程序,具有以下内容:

- (void)viewDidLoad {
    [super viewDidLoad];

    // set up the textView
    CGRect frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    UITextView *textView = [[UITextView alloc] initWithFrame:frame];
    [textView setFont:[UIFont systemFontOfSize:36.0]];
    [self.view addSubview:textView];
    textView.text = @"I wish this text appeared below the exclusion rect and not within it.";


    // add the photo

    CGFloat textViewWidth = textView.frame.size.width;

    // uncomment if you want to see that the exclusion path DOES work when not taking up the full width:
    // textViewWidth …
Run Code Online (Sandbox Code Playgroud)

uitextview ios nstextcontainer

14
推荐指数
2
解决办法
2764
查看次数

如何让StringSize返回有用的高度?

MonoTouch使这些sizeWithFont方法可用UIView,但LineHeight无论字符串传递给它多长时间,它似乎都会返回字体.

string someString = "test string";
UIFont someFont = UIFont.SystemFontOfSize(13f);
SizeF sizeToDisplay = someUIView.StringSize(someString, someFont, Bounds.Width, UILineBreakMode.WordWrap);
// sizeToDisplay = { Width: 58, Height = 16 }
someString = string.Join(" ", Enumerable.Repeat(someString, 500));
sizeToDisplay = someUIView.StringSize(someString, someFont, Bounds.Width, UILineBreakMode.WordWrap);
// sizeToDisplay = { Width: 304, Height = 16 }
Run Code Online (Sandbox Code Playgroud)

是否有其他方法我应该用来找到显示任意文本块所需的高度UITextView

c# xamarin.ios ios

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