This problem is easy to solve, you need to set the color of the upper and lower lines in the Pickerview proxy method.
-(UIView *) Pickerview: (Uipickerview *) Pickerview Viewforrow: (nsinteger) Row forcomponent: (Nsinteger) component Reusingview: (UIView *) view{UILabel*label =[[UILabel alloc] init]; Label.frame= CGRectMake (0,0, _picker.frame.size.width, +); Label.font= [Uifont systemfontofsize: A]; if(Component = =0) {Label.text=Self.yeararray[row]; }Else if(Component = =1) {Label.text=Self.montharray[row]; }Else if(Component = =2) {Label.text=Self.dayarray[row]; } label.textalignment=Nstextalignmentcenter; //set the color of the horizontal line to show or hide((UILabel *) [_picker.subviews Objectatindex:1]). BackgroundColor =Finelinecolor; ((UILabel*) [_picker.subviews Objectatindex:2]). BackgroundColor =Finelinecolor; returnlabel;}
IOS Uipickerview may appear when the selected line does not show or remove the top and bottom two horizontal lines to solve the problem,