Large Text Being Cut Off in UITextView That is Inside UIScrollView

后端 未结 17 1679
挽巷
挽巷 2020-11-29 02:03

I\'m having a serious problem that I just can\'t seem to fix and it\'s driving me insane for the last two days. I have searched far and wide and I can\'t find a solution, e

17条回答
  •  春和景丽
    2020-11-29 02:48

    Definitely iOS7. I had this same problem applying to all UITextViews that were resized, both xib and code generated. I found the textContainer.size needed adjusting after UITextView frame was changed.

    I created this category code to adjust the textContainer.size but it also seems to need adjusting after setting the text value as well, so I have to call adjustAfterFrameChange after any text changes if they are not followed by setting the frame size. This code makes the assumption that UITextView is not doing anything with setFrame: itself so take out setFrame: and call adjustAfterFrameChange manually if you want to avoid that risk

    Edit: changed

    self.textContainer.size = self.frame.size; // fix for cut off text
    

    to

    self.textContainer.size = self.contentSize; // fix for cut off text
    

    @interface UITextView(Extras)
    
    - (void)adjustAfterFrameChange;
    
    @end
    
    
    
    @implementation UITextView(Extras)
    
    - (void)adjustAfterFrameChange {
    #if defined(__IPHONE_7_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0
        if ([self respondsToSelector:@selector(textContainer)])
            self.textContainer.size = self.contentSize; // fix for cut off text
    #endif
    }
    
    
    - (void)setFrame:(CGRect)frame {
        [super setFrame:frame];
    
        [self adjustAfterFrameChange];
    }
    
    @end
    

提交回复
热议问题