Xcode 9와 iOS 11을 사용하기 시작한 시점에서 네비게이션 바 아래쪽에 약 3 픽셀의 경계선이 생겼습니다. iOS 10에서 같은 것을 본 적이 없습니다. 어떻게 제거 할 수 있을지 생각해보십시오. 이 아래의 스크린 샷에서 아이폰 X 홈 버튼이 아니라 탐색 표시 줄의 선이iOS 11 탐색 바 밑줄
-3
A
답변
-3
그것은 내가 대답을 발견
1
아이폰 X에서 홈 버튼 표시를 나타냅니다 분명히 만들려면 : 거기에 직접 액세스 할 수없는 탐색 표시 줄에 의해 만들어진 아래쪽 그림자 선이 있고 그 그림자에 대한 이미지를 대체 코드를 작성해야합니다. 그것은이다
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
// Remove navigation bar bottom shadow line in iOS 11
[self.navigationBar setBackgroundImage:[self generateSinglePixelImageWithColor:[FillrThemeManager sharedInstance].theme.fillViewNavigationBarTintColor] forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [self generateSinglePixelImageWithColor:[UIColor clearColor]];
}
- (UIImage *)generateSinglePixelImageWithColor:(UIColor *)color {
CGSize imageSize = CGSizeMake(1.0f, 1.0f);
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0f);
CGContextRef theContext = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(theContext, color.CGColor);
CGContextFillRect(theContext, CGRectMake(0.0f, 0.0f, imageSize.width, imageSize.height));
CGImageRef theCGImage = CGBitmapContextCreateImage(theContext);
UIImage *theImage;
if ([[UIImage class] respondsToSelector:@selector(imageWithCGImage:scale:orientation:)]) {
theImage = [UIImage imageWithCGImage:theCGImage scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp];
} else {
theImage = [UIImage imageWithCGImage:theCGImage];
}
CGImageRelease(theCGImage);
return theImage;
}
당신이 –
이 나는 '약 3 PX 네비게이션 바의 바닥 위에서 만든 경계선'가 무슨 뜻인지 혼동 사람들을 생각했다 하나 사람이 같은 문제로 실행 들어,이 코드입니다 내가 말하는 iPhone X 홈 버튼이 아닙니다. 그러나 1 개의 탐색 바를 선! 나는 누군가가 내가 어리석은 질문을했다고 생각하기 때문에 그것에 대해 하나의 부정적인 점을 가지고있다. –
이 경계선은 iOS 11의 탐색 바를 다루는 데 아무런 문제가 없다고 생각합니다. 이전 프로젝트를 Xcode 9로 마이그레이션했지만 테두리가 표시되지 않습니다. 따라서이 경계선은 화면의 UI와 관련되거나 다른 것과 관련 될 수 있습니다. 다음 가이드 라인을 살펴보십시오. https://developer.apple.com/ios/human-interface-guidelines/overview/iphone-x/ 희망 사항 : –