0
我加了層(底部邊框)與如何從其中添加文本框除去層編程
- (void) addBorderToTextField:(UITextField *)textField borderWidth:(CGFloat)borderWidth
{
CALayer *border = [CALayer layer];
border.borderColor = [UIColor darkGrayColor].CGColor;
border.frame = CGRectMake(0, textField.frame.size.height - borderWidth, textField.frame.size.width, textField.frame.size.height);
border.borderWidth = borderWidth;
[textField.layer addSublayer:border];
textField.layer.masksToBounds = YES;
}
到文本框現在我想刪除這條邊界編程
下面我嘗試,但它崩潰。不確定最後一個對象是否包含所需的對象。
- (void) replaceBorderFromTextField:(UITextField *)textField borderWidth:(CGFloat)borderWidth
{
CALayer *border = [CALayer layer];
border.borderColor = [UIColor darkGrayColor].CGColor;
border.frame = CGRectMake(0, textField.frame.size.height - borderWidth, textField.frame.size.width, textField.frame.size.height);
border.borderWidth = borderWidth;
NSArray *subLayers = [textField.layer sublayers];
CALayer *existingBorder = [subLayers objectAtIndex:[subLayers count] -1];
[textField.layer replaceSublayer:existingBorder with:border];
textField.layer.masksToBounds = YES;
}
我該如何刪除?
我試過了你的代碼。工作得很好。你的bug msut是別的地方。如果可以的話,還請發佈有關如何調用這兩個函數的相關代碼。 – 2015-02-09 03:28:12
我在子數組中有兩個元素...不知道哪兩個...我使用了matt下面提供的方法,它的工作原理....我相信在你的測試中,你只有1個元素在子數組中,因此它工作 – GJain 2015-02-09 04:35:14