相关疑难解决方法(0)

UITextView使用自动布局扩展为文本

我有一个完全使用自动布局编程的视图.我在视图中间有一个UITextView,上面和下面有项目.一切正常,但我希望能够在添加文本时扩展UITextView.当它扩展时,它应该将其下面的所有内容都推下来.

我知道如何以"弹簧和支柱"的方式做到这一点,但是有一种自动布局方式吗?我能想到的唯一方法是每次需要增长时删除并重新添加约束.

uitextview ios autolayout nslayoutconstraint

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

何时释放相关对象?

我通过关联引用将对象B附加到对象A.对象B观察对象A到KVO的一些属性.

问题是对象B似乎对象A 之后被释放,这意味着它太迟了以将其自身移除为对象A的KVO观察者.我知道这是因为我得到了NSKVODeallocateBreak异常,然后EXEC_BAD_ACCESS在对象B的dealloc中崩溃.

有没有人知道为什么对象B在具有OBJC_ASSOCIATION_RETAIN的对象A之后被释放?解除分配后是否释放相关对象?他们是否被自动释放?有谁知道改变这种行为的方法?

我试图通过类别向类添加一些东西,所以我不能覆盖任何现有的方法(包括dealloc),而且我并不特别想要混乱.在对象A被释放之前,我需要一些方法来解除关联并释放对象B.

编辑 - 这是我正在努力工作的代码.如果在完全取消分配UIImageView之前释放了关联的对象,那么这一切都可以正常工作.我所看到的唯一解决方案是在我自己的dealloc方法中调整,并调回原来以调用它.但这真的很混乱.

ZSPropertyWatcher类的要点是KVO需要一个标准的回调方法,我不想替换UIImageView,以防它自己使用它.

的UIImageView + Loading.h

@interface UIImageView (ZSShowLoading)
@property (nonatomic)   BOOL    showLoadingSpinner;
@end
Run Code Online (Sandbox Code Playgroud)

的UIImageView + Loading.m

@implementation UIImageView (ZSShowLoading)

#define UIIMAGEVIEW_SPINNER_TAG 862353453
static char imageWatcherKey;
static char frameWatcherKey;

- (void)zsShowSpinner:(BOOL)show {
    if (show) {
        UIActivityIndicatorView *spinnerView = (UIActivityIndicatorView *)[self viewWithTag:UIIMAGEVIEW_SPINNER_TAG];
        if (!spinnerView) {
            spinnerView = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge] autorelease];
            spinnerView.tag = UIIMAGEVIEW_SPINNER_TAG;
            [self addSubview:spinnerView];
            [spinnerView startAnimating];
        }

        [spinnerView setEvenCenter:self.boundsCenter];
    } else {
        [[self viewWithTag:UIIMAGEVIEW_SPINNER_TAG] removeFromSuperview];
    }
}

- …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c

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

将文本垂直和水平居中放在UITextView中

我有一个带有一个单元格的分组表视图.在这个小区,我把一个UITextViewcellForRowAtIndexPath:,我立即让这个第一个响应.

我的问题是:当我开始输入时,文本是左对齐的,不是我想要的水平和垂直居中.这是在iOS 7上.

我该如何将文本居中?

cocoa-touch uitextview ios

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

在NSKVODeallocateBreak设置断点

我正在玩地图工具包,我创建了一个注释.我试图找到我的错误,因为这个错误:

解释了类AddressAnnotation的实例0x1b7ac0,而键值观察者仍然注册了它.观察信息被泄露,甚至可能被错误地附加到其他物体上.在NSKVODeallocateBreak上设置断点以在调试器中停止.这是目前的观察信息:

我不确定NSKVODeallocateBreak在哪里设置断点.我以为我可以使用Instruments来调试它,但是当我尝试时,它崩溃而没有给我任何指示它崩溃的地方.有什么想法吗?

iphone xcode mkmapview lldb

10
推荐指数
2
解决办法
7912
查看次数

UITextView垂直居中对齐文本

我想将文本垂直居中对齐UItextView.

我正在使用以下代码

UITextView *tv = object;
     CGFloat topCorrect = ([tv bounds].size.height - [tv contentSize].height * [tv zoomScale])/2.0;
     topCorrect = ( topCorrect < 0.0 ? 0.0 : topCorrect );
     tv.contentOffset = (CGPoint){.x = 0, .y = -topCorrect}
Run Code Online (Sandbox Code Playgroud)

;

不知怎的,这在iOS 5中不起作用,因为返回的contentSize与我在iOS6中得到的不同.

任何想法为什么contentSize相同的textView在iOS 5和iOS 6中有所不同?

uitextview ios

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

如何使用文本工具包(iOS 7)在UITextView中垂直居中文本

摘要:

在iOS 6中,我通过键值观察文本视图的contentSize属性(/sf/answers/881390961/),在UITextView中垂直居中.当我升级到iOS 7时,后一种技术工作不一致.

我宁愿使用Text Kit在UITextView中垂直居中文本,而不是尝试修复KVO技术.

我使用Text Kit设计了一个解决方案,但它会在设备轮换时中断.

UITextView是橙色的.

最初加载文本视图时,文本正确居中:

在此输入图像描述

当设备旋转为横向时,文本仍然正确居中:

在此输入图像描述

但是,当设备旋转回纵向时,文本未正确居中.文本应该在一行上,就像在上面的第一个屏幕截图中一样.

在此输入图像描述

对于后一个屏幕截图,将几何图形记录到控制台会显示文本视图的文本容器宽度太窄.

细节:

@interface ViewController ()

// text view is created in storyboard; it's added to the root view and it's using auto layout
@property (weak, nonatomic) IBOutlet UITextView *textView;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSTextContainer *textContainer = self.textView.textContainer;
   [textContainer setWidthTracksTextView:YES];  
}

- (void)centerText
{
    NSTextContainer *container = self.textView.textContainer;
    NSLayoutManager *layoutManager = container.layoutManager;

    CGRect textRect = [layoutManager usedRectForTextContainer:container];

    UIEdgeInsets inset = UIEdgeInsetsZero;
    inset.top = …
Run Code Online (Sandbox Code Playgroud)

uitextview ios ios7 textkit

5
推荐指数
1
解决办法
2795
查看次数

如何在UITextView中水平和垂直对齐文本?

如何在UITextView中水平和垂直对齐文本?我希望UITextView中的文本与水平对齐和垂直对齐对齐.有没有自定义方式?请帮我.....

uitextview ios

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