@Samer Sorry for the late reply. been working on this one all night.
I still dont have the ideal fix for this.. (meaning without overriding present) but am u got three choices..
Hard setting scrollView() like before..
self.scrollView = ui.ScrollView(
y=20 # ⥢⬅ here
Hard set inside SetPage..
def set_page(self, page_number):
if page_number < self.pageControl.numberOfPages() and page_number > -1:
x = page_number * self.scrollView.width
self.scrollView.content_offset = (x, -20) # ⥢⬅ here
raise ValueError("Invalid Page Number. page_number is zero indexing.")
Your favorit override..
added an instance variable to it though..
def __init__(self, **kwargs):
self.titleBarAdjustment=0 # ⥢⬅ here
#with this guy..
def present(self, **kwargs): # evaluate input before presenting
self.scrollView.y=20 #if hide_title_bar then adjust scrollView
super(PageControl, self).present(**kwargs) # Continue..
the second option needs to know if the bar is present otherwise it just has a revers effect to original image issue.. (jumps up)
im still looking for a beter solution for this. the objc methods were not working last night and im sure it was writers error. but im the mean time at least two of these will hold by maybe?
as for your other issues..
Depending on your phone and tabelets they could be explained.
i suspect that it has todo with Retina scaling and resolution. i have an iPhone 6s and iPad Air 2 and they both have a 2x1 Retina Display so i dont get this issue but id imagine if u has a 2x1 phone and 3x1 ipad it would creat this. all you really need to do if thats the case is check device at runtime and setup Layout accordingly. ui/scene, atleast for 2x1, should auto compensate for this but pil doesnt. just for future info lol.. but by using ui.from_data(data, scale) is where u set scaling for retina convertion. this could help if your dispay happends to be a factor. if i find anything ill let you know!