Jak wiemy, separator widoku tabeli jest tak cienki i piękny. Czasami musimy zbudować trochę linii separatora w storybooku lub stalówce, min liczba to 1, ale w rzeczywistości linia wydaje się znacznie grubsza niż się spodziewaliśmy.
Moje pytanie brzmi: jak narysować linię 1px w storybooku?Jak narysować linię 1px w storyBoard?
Odpowiedz
mam punkt zbyt wreszcie znajdę wyjście.
Jak wiemy, jeśli narysujemy linię i ustawimy wysokość według kodu, możemy ustawić wysokość równą (1.0/[UIScreen mainScreen] .scale).
Ale tutaj chcesz narysować scenorys.
Moja droga to podklasa UIView lub UIImageView, w zależności od Twojego zapotrzebowania jako OnePXLine. W OnePXLine klasy zastępują layoutSubviews jak poniżej:
- (void)layoutSubviews {
[super layoutSubviews];
CGRect rect = self.frame;
rect.size.height = (1/[UIScreen mainScreen].scale);
self.frame = rect;
}
I można narysować linię 1 px w serii ujęć, poprzez zastosowanie tej klasie.
Goodluck!
można zrobić, jak w każdym UIControl/UIElement do tego i zmienić wysokość jak 1
jeśli chcesz 1 punkt to wykorzystać - 1
jeśli chcesz 1pixel Użyj tego - 1.0/UIScreen.mainScreen().scale
Cel C
UIView *LineView=[[UIView alloc]initWithFrame:CGRectMake(0, 50, self.view.frame.size.width, 1)]; // customize the frame what u need
[LineView setBackgroundColor:[UIColor yellowColor]]; //customize the color
[self.view addSubview:LineView];
Swift
var LineView=UIView(frame: CGRectMake((0, 50, self.view.frame.size.width, 1))
LineView.backgroundColor=UIColor.yellowColor()
self.view.addSubview(LineView)
jeśli chcesz więcej informacji zobacz once
to technicznie nie będzie wysokość 1px, ale będzie 1 pkt wysokość linii, ponieważ w zależności od gęstości wyświetlania, na @ 2x urządzeń to faktycznie ma 2 mm grubości na przykład, ale może OP rzeczywiście nie chce 1 wysokość linii pikseli ale wysokość 1 pt. – Fonix
@Fonix - sprawdź zaktualizowaną odpowiedź –
można przypisać wartość pływaka do widoku ramki. więc możesz zrobić dowolny widok (label, textview, widok, pole tekstowe) i przypisać wysokość jako 0.4f
lub coś programowo i szerokość, aby dopasować szerokość siebie.
lable.frame = CGRectMake(0,0,width of self.view,0.4f);
To ci pomoże, jeśli jesteś kodowania w Swift:
func lineDraw(viewLi:UIView)
{
let border = CALayer()
let width = CGFloat(1.0)
border.borderColor = UIColor(red: 197/255, green: 197/255, blue: 197/255, alpha: 1.0).CGColor
border.frame = CGRect(x: 0, y: viewLi.frame.size.height - width, width: viewLi.frame.size.width, height: viewLi.frame.size.height)
border.borderWidth = width
viewLi.layer.addSublayer(border)
viewLi.layer.masksToBounds = true
}
Spróbuj w cellForRowAtIndex
UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, 1)];
separatorLineView.backgroundColor = [UIColor colorWithRed:242/255.0f green:222/255.0f blue:52/255.0f alpha:1.0];
[cell.contentView addSubview:separatorLineView];
Xcode 9 Swift: Możesz dodać cienką separator z linią 1px w serii ujęć, stosując UIView
.
Pod Rozmiar Inspektora Wystarczy ustawić wysokość, szerokość do 1 przykład 360.
dokumentacji Apple na UIView.
- 1. Jak narysować linię w VIM?
- 2. Jak narysować linię na formularzu?
- 3. jak narysować linię na obrazie?
- 4. Jak narysować linię w Sprite-kit
- 5. Swift - Jak narysować linię w OpenGL ES?
- 6. Jak narysować pionową linię w gnuplot?
- 7. Jak narysować gładką zakrzywioną linię w WPF?
- 8. Jak narysować linię z animacją w PyQt4
- 9. Jak narysować linię siatki na płótnie WPF?
- 10. Jak narysować linię z Cocos2d-iPhone
- 11. Jak narysować linię z reprezentacji elewacji WorldWind
- 12. CALayer drawInContext nie może narysować linii 1px na wyświetlaczach siatkówki
- 13. Jak narysować linię w środowisku wielowymiarowym w R?
- 14. Jak mogę narysować "miękką" linię w WPF (przypuszczalnie używając LinearGradientBrush)?
- 15. Jak narysować pionową linię na wykresie serii czasu w Pandach?
- 16. Jak narysować linię w różnych wzorach, używając płótna?
- 17. jak narysować linię na ImageView wraz z palcem w android
- 18. Jak narysować okrąg i linię w skrzynce obrazkowej?
- 19. Jak narysować pionową linię między dwoma przyciskami w Androidzie
- 20. narysować linię za pomocą dwóch punktów
- 21. HTML5 Canvas - jak narysować linię na tle obrazu?
- 22. Jak narysować linię na MKMapView pokazującą trasę, którą podjął użytkownik?
- 23. 1px o 1px gif w menu nawigacyjnym YouTube
- 24. Jak naprawić margines 1px w Google Chrome?
- 25. Twarde kodowanie a ogólne kodowanie: gdzie narysować linię?
- 26. Siatka rysunkowa z jQuery SVG tworzy linie 2px zamiast 1px
- 27. Jak wykreślić linię gradientu w kanwie HTML?
- 28. Czy można narysować linię ukośną za pomocą CSS3?
- 29. narysować linię używać tych samych wartości y, linię działek na dole
- 30. Javascript: Jak narysować prostą linię na płótnie (w 3d) i uczynić ją obrotową (w 3d)?
Prawdopodobny duplikat [Rysuj oryginalną 1-pikselową linię, iOS7] (http://stackoverflow.com/questions/22745522/draw-a-regularne-1-pixel-line-ios7) – iSkore
[spróbuj tego rozwiązania] (http: // stackoverflow.com/a/26868504/1219956) dla rzeczywistej linii o wysokości 1 piksela, a nie 1-punktowej linii wysokości, podobnie jak pozostałe odpowiedzi wydają się dawać – Fonix
Dzięki wszystkim odpowiedziom. Wszystko mi bardzo pomogło i znalazłem kilka sposobów wyjścia, w końcu myślę, że odpowiedź Fonixa i childrenOurFuture działa dla mnie. –